home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / r / raystormv1.8cr.lha / raystorm / Docs / RayStorm.doc < prev    next >
Encoding:
Text File  |  1997-02-19  |  118.6 KB  |  3,915 lines

  1.  
  2.                                                               February 16th 1997
  3.  
  4.                           R a y S t o r m   ›3mv1.8›0m
  5.  
  6.                      by Andreas Heumann and Mike Hesser
  7.  
  8.  ›0m›1m1. Introduction›0m
  9.    ›3m Introduction       ›0m     What is RayStorm?
  10.    ›3m Requirements       ›0m     What do I need to run it?
  11.    ›3m Features           ›0m     What can Scenario do?
  12.    ›3m Limitations        ›0m     What limitations has the demo version?
  13.  
  14.  ›0m›1m2. Installation›0m
  15.    ›3m Installation       ›0m     How can I install it?
  16.  
  17.  ›0m›1m3. General information›0m
  18.    ›3m Raytracing         ›0m     What is raytracing?
  19.    ›3m Octree             ›0m     What is an octree?
  20.    ›3m Antialiasing       ›0m     What is antialiasing?
  21.    ›3m Depth of field     ›0m     What is Depth of Field?
  22.    ›3m Soft shadows       ›0m     What are soft shadows?
  23.    ›3m Motion Blur        ›0m     What is Motion Blur?
  24.    ›3m Surfaces           ›0m     What meaning have the surface parameters?
  25.    ›3m CSG                ›0m     What is CSG?
  26.    ›3m Directory Structure›0m     Some words to directory and project structures.
  27.    ›3m Virtual Memory     ›0m     How do I use virutal memory?
  28.    ›3m Internals          ›0m     Some internal details.
  29.    ›3m Tips & Tricks      ›0m     Useful tips,tricks and hints (FAQ)
  30.    ›3m Textures           ›0m     How do I use textures?
  31.    ›3m RAW object format  ›0m     Description of RAW object files.
  32.  
  33.  ›0m›1m3. Scenario Usage›0m
  34.    ›3m Usage              ›0m     How do I use Scenario?
  35.    ›3m Menus              ›0m     Description of the menus.
  36.    ›3m Buttons            ›0m     Description of the buttons.
  37.    ›3m Object Menus       ›0m     Description of object orientated menus.
  38.    ›3m Keyboard Control   ›0m     How do I use Scenario with the keyboard?
  39.  
  40.  ›0m›1m4. Script Usage›0m
  41.    ›3m ARexx interface    ›0m     Which commands doe it have?
  42.    ›3m Examples           ›0m     How do I use the examples?
  43.    ›3m Tutorials          ›0m     Some tutorials
  44.  
  45.  ›0m›1m5. Registration›0m
  46.    ›3m Register           ›0m     What must I do to register?
  47.  
  48.  ›0m›1m6. Misc›0m
  49.    ›3m Known Bugs         ›0m     Bugs
  50.    ›3m Credits            ›0m     Thanks go to...
  51.    ›3m Authors            ›0m     Who wrote it?
  52.    ›3m Literature         ›0m     Which books do we use?
  53.    ›3m PC-Version         ›0m     Where can I get the PC-version?
  54.    ›3m Homepage           ›0m     Where to find us on the World Wide Web.
  55.    ›3m History            ›0m     What happened in the past?
  56.    ›3m Future             ›0m     What is planned for the future?
  57.  
  58.  ›0m›1m7. Legal Stuff›0m
  59.    ›3m Legal Stuff        ›0m     Legal stuff
  60.  
  61.  
  62. ›0m›1mINTRODUCTION›0m
  63.  
  64. This document describes the raytracing package RayStorm. This package consists
  65. of two parts:
  66. - The scene modeler ›0m›1mScenario›0m which is the graphical user interface
  67.   (GUI) of the RayStorm package.
  68. - The script interface ›0m›1mRayStorm Script›0m, a program wich allowes one
  69.   to use the raytracer through a script language.
  70. - The heart of RayStorm: ›0m›1mRayStorm Raytracer›0m, wich generates the
  71.   picture from a scene description (this part is not visible for the user
  72.   but nevertheless it's the main part).
  73.  
  74. Here are some additional informations to the parts:
  75.  
  76.   ›3mRayStorm Scenario›0m
  77.   ›3mRayStorm Script›0m
  78.   ›3mRayStorm Raytracer›0m
  79.  
  80. ›0m›1mINTRODUCTION TO SCENARIO›0m
  81.  
  82. As we developed Scenario we tried to make the user interface to use as
  83. easy as possible to enable even absolute beginners to work with it. Therefore
  84. almost all actions can be performed with the mouse. For advanced users we
  85. implemented keyboard shortcuts for almost all functions.
  86.  
  87. ›0m›1mINTRODUCTION TO RAYSTORM SCRIPT›0m
  88.  
  89. The script language that contains the description of the scene is easy to
  90. learn and offers some powerful capabilities. In addition, the script language
  91. has a full support for key frame animation.
  92.  
  93. A RayStorm script file (.ray files) is basically divided into the following
  94. sections:
  95. - Various settings of the camera, the world and the lights,
  96. - Definitions of the different textured surfaces,
  97. - Different actors that set the Motion Blur and animation parameters,
  98. - Objects that are associated with surfaces and actors
  99. - Settings for the final rendered graphic.
  100.  
  101. For a more detailed description click ›3mhere›0m.
  102.  
  103. ›0m›1mINTRODUCTION TO RAYSTORM RAYTRACER›0m
  104.  
  105. The raytracer itself is a part to RayStorm which is not directly visible.
  106. All features of the raytracer are packed into a shared library. Both Scenario
  107. and RayStorm Script use this library to render their scenes.
  108.  
  109. The raytracer is based on a fast octree algorithm. It has some powerfull
  110. features such as ›3mMotion Blur›0m and ›3mDepth of Field›0m.
  111.  
  112. ›0m›1mGENERAL›0m
  113.  
  114. Raytracing makes it possible to generate fotorealistic pictures of objects.
  115.  
  116. A raytracer casts a ray form the position of the viewer through a scene
  117. and calculates possible intersections with the objects in that scene. If an
  118. intersection is found, the raytracer decides which color the object
  119. at this position has. If the object is reflective or transparent, the
  120. raytracer casts new rays from this positon and tests the intersections
  121. again and so on.
  122.  
  123. To make the surfaces of the objects more realistic, textures which
  124. simulate marble, wood other surfaces can be used.
  125.  
  126. ›0m›1mOCTREE›0m
  127. Simple raytracers determine the intersections with objects by testing all
  128. objects. This can lead to long rendering times if there are a lot of
  129. objects in the scene.
  130.  
  131. One solution of this problem is the Octree algorithm.
  132. This algorithm divides the scene into eight child-cells recursively until
  133. there is less than oe object in the cell or the maximum depth of the tree is reached.
  134.  
  135. Division of space with the octree algorithm:
  136.                _
  137.                /| z
  138.               /
  139.      /-------/-------/|
  140.  ^ y/       /       / |
  141.  | / left  / right / b|
  142.  |/       /       / |a|
  143.  |-------/-------| f|c|
  144.  |               | r|k|
  145.  |      up       | o| /
  146.  |---------------| n|/
  147.  |               | t|
  148.  |     down      | /  x
  149.  |---------------|/-->
  150.  
  151. ›0m›1mANTIALIASING›0m
  152.  
  153. RayStorm uses a algorithm called 'Adaptive Supersampling' to do antialiasing.
  154. For each pixel with a high contrast against its four neighbours, the algorithm
  155. casts new rays which are close to the ray used for the pixel itself. The new
  156. color of the pixel is calculated with the supersampled pixels and the gaussian
  157. filter.
  158.  
  159. Supersampling is also used to do ›3mdepth of field›0m and ›3msoft shadows›0m. So if
  160. you want to use this features you have to set a antialiasing value greater
  161. than one. (-> ›3mANTIALIAS›0m)
  162.  
  163. Example:
  164. Settings: squareroot of number of samples per pixel: 3
  165.  
  166. |--------|--------|--------|
  167. | super- | super- | super- |
  168. | sampled| sampled| sampled|
  169. |        |        |        |
  170. |--------|--------|--------|
  171. | super- |        | super- |
  172. | sampled| pixel  | sampled|
  173. |        |        |        |
  174. |--------|--------|--------|
  175. | super- | super- | super- |
  176. | sampled| sampled| sampled|
  177. |        |        |        |
  178. |--------|--------|--------|
  179.  
  180. |- Gaussian filter width  -|
  181.  
  182. The rendering time increases dramatically if you use antialiasing. The
  183. values below depend on the contrast of the picture.
  184.  
  185. Samplesetting     rendering time
  186.                   average case     worst case
  187. 1                 x1                x1
  188. 2                 x2                x4
  189. 3                 x4                x8
  190. 4                 x8               x16
  191. ...               ...              ...
  192.  
  193. Setting higher than 3 are not leading to significant better results.
  194.  
  195. ›0m›1mDEPTH OF FIELD›0m
  196.  
  197. Objects in computer graphics are normally rendered in an image plane
  198. using a pinhole camera model. That is to say, no matter how far or how
  199. near the objects are from the camera, they are always in sharp focus.
  200. Depth of field means that only objects at a certain distance from the
  201. camera lens are in sharp focus. Further and nearer objects produce a
  202. blurred image on the film plane.
  203.  
  204. [From 'Advanced Animation and Rendering Techniques']
  205.  
  206. To use depth of field you have to set ›3mANTIALIAS›0m to a value bigger
  207. than one.
  208.  
  209. ›3mExample for DOF›0m
  210.  
  211. ›0m›1mSOFT SHADOWS›0m
  212.  
  213. Real Light sources never have a zero size, therefore the shadows behind
  214. objects are never hard edged, they are soft. RayStorm generates this
  215. shadows by jittering the position of the light source. To use soft shadows
  216. you must set ›3mDISTRIB›0m to a value bigger than one.
  217.  
  218. ›0m›1mMOTION BLUR›0m
  219.  
  220. Motion blur is temporal anti-aliasing. In animated sequences, the normal
  221. rendering process functions like a camera that possesses an infinitely
  222. short exposure time and this eliminates the blurring of the image due
  223. to relative motion between an object and the film plane. When a series of
  224. images, generated without motion blur, is displayed as an animated
  225. sequence, the illusion of smooth motion is diminished by strobing effects.
  226. As human beings we expect to see loss of detail in moving images.
  227.  
  228. Motion blur is accounted for in distributed ray tracing by extending the
  229. distributed sampling and jittering into the time domain and computing a
  230. solution that extracts information from the scen over the duration of the
  231. shutter exposure time. Objects are moved as required in the time period
  232. and visibility consequently changes over this time intervall. This method
  233. ensures that highlights and shadows are blurred or not, depending on the
  234. nature of the motion.
  235.  
  236. [From 'Advanced Animation and Rendering Techniques']
  237.  
  238. ›0m›1mSURFACES›0m
  239.  
  240. Ambient (set with AMBIENT)
  241.  
  242. This determines the color of the object in sections which are in shadow.
  243.  
  244. Diffuse reflection (set with DIFFUSE)
  245.  
  246. The diffuse reflection falls off as the cosine of the angle between
  247. the normal and the ray to the light. Diffuse reflection determines the
  248. main color of the object (color in Imagine).
  249.  
  250. Specularly reflected highlights (set with SPECULAR)
  251.  
  252. Specularly reflected highlights fall off as the cosine of the angle
  253. between the reflected ray and the ray to the light source (specular in
  254. Imagine)
  255.  
  256. Specular reflection exponent (set with REFEXP)
  257.  
  258. Determines the size of the specularly reflected highlights, the higher
  259. the smaller the highlight (hardness in Imagine)
  260.  
  261. Diffuse transmission (set with DIFFTRANS)
  262.  
  263. Same as diffuse reflection, but only used if the lightsource is on
  264. opposite side of surface. Only applied if tranlucency is not 0.
  265.  
  266. Specular transmission (set with SPECTRANS)
  267.  
  268. Same as specular reflection, but only used if the lightsource is on
  269. opposite side of surface. Only applied if tranlucency is not 0.
  270.  
  271. Specular transmission exponent (set with TRANSEXP)
  272.  
  273. Same as specular reflection exponent, but only used if the lightsource
  274. is on opposite side of surface.
  275.  
  276. Specular transmittance (set with TRANSLUC)
  277.  
  278. Specular transmittance.
  279.  
  280. Transparency (set with TRANSPAR)
  281.  
  282. Transparent color (filter in Imagine).
  283.  
  284. Reflectivity (set with REFLECT)
  285.  
  286. Reflective color (reflect in Imagine).
  287.  
  288. Fog lenght (set with FOGLEN) (fog in Imagine).
  289.  
  290. Index of refraction (set with REFRINDEX)
  291.  
  292. Determines how the ray through transparent objects is refracted, the higher
  293. the more (index of refraction in Imagine).
  294. Is calculated with the formula
  295.  
  296.             lightspeed in vacuum
  297.    index = ----------------------
  298.             lightspeed in object    .
  299.  
  300.  
  301.  
  302. ›0m›1mCSG›0m
  303.  
  304. The idea of Constructive Solid Geometry (CSG) is to combine to or more
  305. primitives with logical operations to produes a new shape. The operations
  306. needed for CSG are union, intersection, and difference.
  307.  
  308. With the intersection operator you can combine two objects, and the new shape
  309. consists of all points which are inside the first ›0m›1mand›0m the second
  310. object. Points inside one of the objects, but not the other are not part of the
  311. shape.
  312.  
  313. If you combine two objects with the union operator, the new shape consists
  314. of all points which are inside either the first or the second object, or
  315. inside both objects.
  316.  
  317. With the difference operator you can cut out a piece of an object with another
  318. object. The first object is the object that is being 'cut' by the second
  319. object.
  320.  
  321. ›0m›1mDIRECTORY AND PROJECT STRUCTURE›0m
  322.  
  323. scenario             the root directory of scenario
  324. |-brushes            the brush directory (you can create subdirectories here)
  325. | |- brush 1
  326. | |- brush 2
  327. | |- ...
  328. | |- brush n
  329. |-objects            the objects directory (you can create subdirectories here)
  330. | |- object 1
  331. | |- object 1
  332. | |- ...
  333. | |- object n
  334. |-textures           the textures directory (you can create subdirectories here)
  335. | |- texture 1
  336. | |- texture 2
  337. | |- ...
  338. | |- texture n
  339. |-projects           the projects directory (Scenario creates for every project a subdirectory)
  340.   |-project 1        the first project
  341.   | |- project.scn   the file where the scene is stored (has always this name)
  342.   | |-brushes        the directory for brushes which are local to this project
  343.   | | |- ...
  344.   | |-objects        the directory for objects which are local to this object
  345.   | | |- ...
  346.   | |- pic.0001      the rendered pictures
  347.   | |- pic.0002
  348.   | |- ...
  349.   | |- pic.n
  350.   |- project 2       another project
  351.   |- ...
  352.   |- project n
  353.  
  354. The default project directory can be set with the ›3mpreferences›0m.
  355.  
  356. ›0m›1mVIRTUAL MEMORY›0m
  357.  
  358. RayStorm has been tested succesfully with VMM 3.1 from Martin Apel. If you
  359. want use RayStorm with virtual memory notice follwing hints:
  360.  
  361. - set Minimum VM allocation to 100 bytes if you define large scenes with
  362.   many objects, because RayStorm only allocates small pieces of memory for
  363.   single objects (less then 200 bytes). If you're loading Imagine objects
  364.   RayStorm allocates big blocks of memory so you don't have to set Minimum
  365.   VM allocation to 100.
  366. - use a partition or a pseudo-partition for VMM, this is faster
  367.  
  368. ›0m›1mINTERNALS›0m
  369.  
  370. The development of RayStorm has started in march 1995.
  371.  
  372. ›0m›1mCompiler›0m
  373.  
  374. - Amiga
  375.   Originally, RayStorm has been developed on Amiga using Maxon C++ 3.0
  376.   Developer. The final Amiga version was compiled with StormC 1.1.
  377. - PC
  378.   The PC version was compiled with WATCOM C++ 10.5.
  379.  
  380. ›0m›1mMemory requirements of the raytracer›0m
  381.  
  382. Triangle:      156 Bytes (flat shaded)
  383.                192 Bytes (Phong shaded)
  384. Sphere:         70 Bytes
  385. Plane:          78 Bytes
  386. Surface:       122 Bytes + length of name
  387. Screenbuffer:    4 Bytes per pixel
  388.  
  389. Memory requirements of the octree depends on the scene.
  390.  
  391. ›0m›1mSource Code›0m
  392.  
  393. About 70.000 lines of C++-Code in more than 250 modules (about
  394. 1.6 MByte of source).
  395.  
  396. ›0m›1mRAW OBJECT FORMAT›0m
  397.  
  398. RAW files are simple ASCII based descriptions of triangle objects. The file
  399. consits of object sections which start with a name. This name is followed
  400. by several triangle definitions. A RAW file consists of unlimited object
  401. sections. Below is an example of a simple RAW file which describes two objects.
  402.  
  403. Plane
  404. -1 -1 0  1 -1 0  1 1 0
  405. -1 -1 0  -1 1 0  1 1 0
  406. House
  407. -3 -1 0  -2 -1 0  -2 1 0
  408. -3 -1 0  -3 1 0  -2 1 0
  409. -3 1 0  -2.5 2 0  -2 1 0
  410.  
  411. ›0m›1mREQUIREMENTS›0m
  412.  
  413. (1) You will need at least Kickstart 2.0.
  414.  
  415. (2) 060-version: 68060 processor (with internal FPU)
  416.  
  417. (3) 040-version: 68040 processor (with internal FPU)
  418.  
  419. (4) 881-version: 68020 processor or better and a mathematical coprocessor)
  420.  
  421. (5) 020-version: 68020 processor (no math coprocessor needed)
  422.  
  423. (6) 2MB RAM minimum
  424.  
  425. (7) RayStorm was written using MUI. Therefore you need muimaster.library
  426.     V3.3 or better to run RayStorm.
  427.  
  428. recommended: 68040, 8MB RAM, Harddisk, GFX-Board
  429.  
  430. The faster the better :-).
  431.  
  432. Tested with:
  433. A1200 68030/50, 6MB, 200MB HD
  434. A2000 68040/30, 9MB, 250+250MB HD, Merlin Gfx-board
  435. A2000 68030/14, 68882/20, 4MB, 730+52MB HD
  436. A4000 68030/25, 68882/57, 18MB, 730+80MB HD, Cybervision 64 Gfx-board
  437.  
  438. ›0m›1mFEATURES›0m
  439.  
  440. ›0m›1mScenario›0m
  441.  
  442. - create spheres, planes, boxes, lightsources and cameras
  443. - create mesh objects: cubes, spheres, planes, tubes and cones
  444. - each object can track each other
  445. - unlimited amount of cameras to view scene from different directions
  446. - define surfaces for all objects, including brushes and textures
  447. - load external objects (RayStorm object files, Imagine TDDD files,
  448.   AutoDesk 3DS files and RAW files)
  449. - save and load scenes
  450. - save and load objects
  451. - group and ungroup objects
  452. - preview of surfaces in material requester
  453. - render scenes with RayStorm Raytracer
  454. - preview of renderd scenes
  455. - quadview
  456. - Multilevel undo (only memory limited) and redo
  457. - Status bar
  458.  
  459. ›0m›1mRayStorm Script›0m
  460.  
  461. - ARexx port with 43 commands.
  462.  
  463. ›0m›1mRayStorm Raytracer›0m
  464.  
  465. - Up to 30% faster than Imagine (in trace mode).
  466. - Octree algorithm used for rendering.
  467. - Motion blur for realistic simulations of moving objects.
  468. - Color, reflectivity, filter, altitude and specular mapping.
  469. - Flat, cylinder and sphere mapping.
  470. - Soft brush mapping.
  471. - Mathematical textures: wood, marble, bumps, checker, linear, radial, stars
  472.   and fire.
  473. - Tranparency and physically correct refractions.
  474. - 8 levels of antialiasing (adaptive supersampling).
  475. - Rendering box.
  476. - Four builtin object types: sphere, plane, box and triangle.
  477. - CSG (Constructive Solid Geometry)
  478. - Three light types: ambient, point and spot.
  479. - Depth of field with adjustable focal distance and aperture.
  480. - Soft shadows.
  481. - Backdrop picture.
  482. - Global fog and foggy objects.
  483. - Material attributes for realistic objects: ambient color, diffuse color,
  484.   specular color, specular reflection exponent, diffuse transmission color,
  485.   specular transmission color, specular transmission exponent, specular
  486.   transmittance, transparent color, reflective color, index of refraction,
  487.   foglength.
  488. - Bright objects.
  489. - Quick rendering.
  490. - Global reflection map.
  491. - Image formates: IFF-ILBM, PNG, TGA and Datatypes.
  492. - Object format: RayStorm object file, Imagine-TDDD, Autodesk 3DS and RAW
  493. - New image- and object-formats can be easily included because of the
  494.   modular concept.
  495. - Shadowcache.
  496. - Definable limited amount of objects for avoiding the creation of octree.
  497.  
  498. ›0m›1mLIMITATIONS›0m
  499.  
  500. The demo version is limited to a resolution of 160x128. The registered version
  501. does not have any limitations.
  502. Click ›3mhere›0m for information on how to register RayStorm.
  503.  
  504. ›0m›1mINSTALLATION›0m
  505.  
  506. There is a installation script included in the archive which uses the
  507. Commodore Installer. Run it to install RayStorm Scenario.
  508.  
  509. ›0m›1mUSAGE›0m
  510.  
  511. After you have started Scenario you see the worksheet.
  512.  
  513. At the top of the sheet are the buttons to manage projects, to control the
  514. view mode, the display mode, the edit mode, enable the selection box and to
  515. control the currently active directions.
  516. Below this button bar is the work area. At startup you can see a grid in
  517. the middle and the camera (note: there must always remain at least one camera
  518. in the scene).
  519. At the bottom of the window is a status bar which displays the name of the
  520. selected object (if more than one object is selected, the name of the first
  521. object is displayed), the name of the active camera and the current cursor
  522. coordinates if the coordinate display is enabled (see ›3mShow Coordinates›0m).
  523.  
  524. All objects, cameras and light sources have an axis to handle it. The axis
  525. consist of a rectangular area - the hot spot or handle - and three lines
  526. which show the orientation of the axis. The axis can be selected by clicking
  527. with the left mouse button at the handle. If it is selected the color of
  528. the axis and the object changes.
  529.  
  530. Clicking with the left mouse button invokes the modify mode. According to the
  531. slected mode (move, rotate or scale) the world or the selected object(s) can
  532. be modified.
  533.  
  534. Clicking with the right mouse button open object specific menus (see
  535. ›3mObject Menus›0m).
  536.  
  537. ›0m›1mMENUS›0m
  538.  
  539.   Project
  540.    ›3m New               ›0m
  541.    ›3m Open...           ›0m
  542.    ›3m Save              ›0m
  543.    ›3m Save As...        ›0m
  544.    ›3m Render settings...›0m
  545.    ›3m Set Render Window ›0m
  546.    ›3m Render            ›0m
  547.    ›3m About...          ›0m
  548.    ›3m Quit              ›0m
  549.  
  550.   Edit
  551.    ›3m Undo              ›0m
  552.    ›3m Redo              ›0m
  553.    ›3m Cut               ›0m
  554.    ›3m Copy              ›0m
  555.    ›3m Paste             ›0m
  556.    ›3m Delete            ›0m
  557.    ›3m Select all        ›0m
  558.    ›3m Deselect all      ›0m
  559.    ›3m Select next       ›0m
  560.    ›3m Select previous   ›0m
  561.    ›3m Mode              ›0m
  562.    ›3m Active            ›0m
  563.  
  564.   View
  565.    ›3m Redraw            ›0m
  566.    ›3m Focus             ›0m
  567.    ›3m Zoom in           ›0m
  568.    ›3m Zoom out          ›0m
  569.    ›3m Zoom fit          ›0m
  570.    ›3m View              ›0m
  571.    ›3m Camera to viewer  ›0m
  572.    ›3m Grid              ›0m
  573.    ›3m Snap to Grid      ›0m
  574.    ›3m Gridsize...       ›0m
  575.    ›3m Show              ›0m
  576.    ›3m Global settings...›0m
  577.  
  578.   Object
  579.    ›3m Attributes...     ›0m
  580.    ›3m Settings...       ›0m
  581.    ›3m Group             ›0m
  582.    ›3m UnGroup           ›0m
  583.    ›3m Load...           ›0m
  584.    ›3m Save...           ›0m
  585.    ›3m Create            ›0m
  586.    ›3m Mesh              ›0m
  587.    ›3m Active Camera...  ›0m
  588.    ›3m Browse...         ›0m
  589.  
  590.   Settings
  591.    ›3m Prefs...          ›0m
  592.    ›3m MUI...            ›0m
  593.    ›3m Load              ›0m
  594.    ›3m Save              ›0m
  595.  
  596. ›0m›1mNEW PROJECT›0m
  597.  
  598. Deletes all objects and creates the default camera.
  599.  
  600. ›0m›1mOPEN PROJECT›0m
  601.  
  602. Load a new scene.
  603.  
  604. ›0m›1mSAVE PROJECT›0m
  605.  
  606. Save the current scene.
  607.  
  608. ›0m›1mSAVE PROJECT AS›0m
  609.  
  610. Save the current scene with the specified name.
  611.  
  612. ›0m›1mRENDER SETTINGS›0m
  613.  
  614. Opens the ›3mrender requester›0m. At top of the requester you can select the render
  615. resolutions with a listview or enter the values to the numeric fields. The
  616. values range from 0 to 65535. Here you also can also enable the rendering
  617. field. RayStorm renders only inside this field. The field is shown in the
  618. perspective window if camera view is switched on.
  619. The 'Show' flag enables the direct showing of the picture while the
  620. render process is running (needs KS 3.0 or better).
  621. The 'Quick' flag selects the quick rendering mode. In this mode RayStorm don't
  622. calculates shadows, transparency or reflections.
  623. The 'Octree depth' slider sets the maximum depth of the octree which RayStorm
  624. uses. For almost all scenes a vlaue of three is the best, but in complex scenes
  625. it may be better to use higher values. The higher this value is the longer
  626. takes the initialazion phase and the more memory is needed.
  627. The 'Min. Objects' slider sets the amount of objects upto which no octree is
  628. generated. If ther is a small amount of objects in the scene it's sometimes
  629. better not to build the octree due to the overhead of the intersection test.
  630. This value depends on your scene, for about 3 to 5 objects it's better not
  631. to use the octree. But if you want to render scenes with motion blur it's
  632. better to set this value to zero because this is faster.
  633. The 'Filename' string gadget sets the filename of the generated picture and the
  634. cycle gadget sets the fileformat. You can show the rendered picture with the
  635. view button.
  636. The 'Ok' button closes the requester and stores the current settings, whereas
  637. the 'Cancel' button don't changes the settings.
  638. The 'Render' button starts the rendering of the current scene.
  639.  
  640. ›0m›1mSET RENDER WINDOW›0m
  641.  
  642. You can set a window in which RayStorm will render the scene. This window is
  643. shown in the perspective view if camera view is switched on. The render
  644. window can be set with the mouse. If you select this menu item it gets
  645. checked. After this you can set the render window by pressing and holding
  646. the left mouse button while you set the render window. After releasing the
  647. mouse button the new render window is set and the enabled.
  648. You can enable and disable the render window in the
  649. ›3mRender Settings requester›0m.
  650.  
  651. ›0m›1mRENDER PROJECT›0m
  652.  
  653. Renders the current scene. The ›3mrender window›0m link is opened.
  654. At the begining only the ›0m›3mCancel›0m button is enabled. With this button
  655. you can break the rendering process. The currently renderd part of the
  656. picture is saved and all memory is freed.
  657. After RayStorm finished rendering the ›0m›3mOk›0m and ›0m›3mShow›0m buttons
  658. are enabled. The 
  659. button calls the view program which you set in the ›3msettings requester›0m.
  660.  
  661. ›0m›1mAbout›0m
  662.  
  663. Shows the about requester with the version number and the current Arexx port
  664. name.
  665.  
  666. ›0m›1mQUIT›0m
  667.  
  668. Quits Scenario.
  669.  
  670. ›0m›1mUNDO›0m
  671.  
  672. Undos the last operation. Follwoing actions can be undone:
  673. - transformation (position, alignment, size)
  674. - delete
  675. - cut
  676. - create
  677. - load object
  678.  
  679. ›0m›1mREDO›0m
  680.  
  681. Redos the last undone operation.
  682.  
  683. ›0m›1mCUT›0m
  684.  
  685. Moves the currently selected objects to the paste buffer.
  686.  
  687. ›0m›1mCOPY›0m
  688.  
  689. Copys the currently selected objects to the paste buffer.
  690.  
  691. ›0m›1mPASTE›0m
  692.  
  693. Copys the currently selected objects from the paste buffer to the scene.
  694.  
  695. ›0m›1mDELETE›0m
  696.  
  697. Deletes the currently selected objects. The active camera can't be deleted.
  698.  
  699. ›0m›1mSELECT ALL›0m
  700.  
  701. Selects all objects.
  702.  
  703. ›0m›1mDESELECT ALL›0m
  704.  
  705. Deselects all objects.
  706.  
  707. ›0m›1mSELECT NEXT›0m
  708.  
  709. Selects the next object.
  710.  
  711. ›0m›1mSELECT PREVIOUS›0m
  712.  
  713. Selects the previous object.
  714.  
  715. ›0m›1mMODE›0m
  716.  
  717. Sets the edit mode:
  718. Move object
  719. Rotate object
  720. Scale object
  721.  
  722. Move world
  723. Rotate world
  724. Zoom world
  725.  
  726. ›0m›1mACTIVE›0m
  727.  
  728. Sets the active directions:
  729. X, Y, Z.
  730.  
  731. ›0m›1mREDRAW›0m
  732.  
  733. Redraws the work area.
  734.  
  735. ›0m›1mFOCUS›0m
  736.  
  737. Sets the zoom factor so that all selected objects are visible.
  738.  
  739. ›0m›1mZOOM IN›0m
  740.  
  741. Zooms out by factor two.
  742.  
  743. ›0m›1mZOOM OUT›0m
  744.  
  745. Zooms in by factor two.
  746.  
  747. ›0m›1mZOOM FIT›0m
  748.  
  749. Sets the zoom factor so that the whole scene is visible.
  750.  
  751. ›0m›1mVIEW›0m
  752.  
  753. Sets the view mode:
  754. Front, Right, Top, Perspective, Four, Camera.
  755.  
  756. ›0m›1mCAMERA TO VIEWER›0m
  757.  
  758. Moves the camera to the the position of the virtual camera, roatates the
  759. camera and sets the opening angles (horizontal and vertial field of view).
  760.  
  761. ›0m›1mGRID›0m
  762.  
  763. Switches grid on/off.
  764.  
  765. ›0m›1mSNAP TO GRID›0m
  766.  
  767. Switches grid snapping on/off.
  768.  
  769. ›0m›1mGRID SIZE›0m
  770.  
  771. Sets grid size.
  772.  
  773. ›0m›1mSHOW›0m
  774.  
  775.    ›3m Coordinates      ›0m
  776.    ›3m Names            ›0m
  777.    ›3m Brushes          ›0m
  778.    ›3m Textures         ›0m
  779.  
  780. ›0m›1mSHOW COORDINATES›0m
  781.  
  782. Switches coordinate display on/off.
  783.  
  784. ›0m›1mSHOW NAMES›0m
  785.  
  786. Sets the show names mode on/off.
  787.  
  788. ›0m›1mSHOW BRUSHES›0m
  789.  
  790. Sets the show brushes mode on/off.
  791.  
  792. ›0m›1mSHOW TEXTURES›0m
  793.  
  794. Sets the show textures mode on/off.
  795.  
  796. ›0m›1mGlobal›0m
  797.  
  798. Opens the ›3mglobal settings requester›0m. Here you can change the global scene
  799. settings.
  800.  
  801. The 'Background' colorfield sets the color of the background of the rendered
  802. picture.
  803.  
  804. With the 'Backdrop' string gadget you can enter a picture which will replace
  805. the background.
  806.  
  807. The 'Reflectionmap' string gadget sets the name of a picture which will be
  808. reflected by objects instead of the background. The reflectionmap is even
  809. applied in quick mode.
  810.  
  811. The 'Ambient' colorfield sets color of the ambient light which is the base
  812. brightness of all objects. In other words: surfaces which are not illuminated
  813. by a light source get the ambient color.
  814.  
  815. The next group of gadgets set the ›3mantialiasing›0m parameters. The
  816. antialiasing value ranges from 1 (no antialiasing) to 8 (very high
  817. antialiasing). This value is the squareroot of rays per pixel. Filter width
  818. sets the maximum distance from the main ray to the additional generated rays
  819. in pixels. The 'Contrast' colorfield sets the minimum contrast. If the contrast
  820. of the main pixel against its four neighbours is higher than this color,
  821. RayStorm performs antialiasing at this pixel.
  822.  
  823. The global fog parameters are controlled with the gadgets of the next group.
  824. 'Length' sets the thickness of the fog. The 'Color' colorfield determines the
  825. color of the fog. 'Height' sets the height at which the fog ends. Global fog
  826. always starts at negative infinity in y direction and and at the specified y
  827. position. For more informations about fog click ›3mhere›0m.
  828.  
  829. The 'Motionblur level' slider is not activated in this version of Scenario,
  830. because motionblur needs animated objects.
  831.  
  832. The 'Softshadow level' slider sets the squareroot of the amount of additional
  833. casted rays for softshadow. Soft shadows are caused from light sources with
  834. a size bigger than 0.
  835.  
  836. The 'Random jitter' flag switches between normal and random sampling. With
  837. random sampling the sampling position is calculated randomly.
  838.  
  839. ›0m›1mATTRIBUTES›0m
  840.  
  841. Opens the attribute requester for the currently selected object, if no object
  842. is selected no requester is opened.
  843. Here you can set the parameters which determine the apperance of the surface.
  844. The requester is divided into three groups:
  845. - ›3mSurface›0m
  846.   At this page you can set the base apperance of the surface.
  847.   - Diffuse
  848.     The diffuse reflection falls off as the cosine of the angle between
  849.     the normal and the ray to the light. Diffuse reflection determines
  850.     the main color of the object.
  851.   - Ambient
  852.     This determines the color of the object in sections which are in
  853.     shadow.
  854.   - Specular
  855.     Specularly reflected highlights fall off as the cosine of the angle
  856.     between the reflected ray and the ray to the light source.
  857.   - Diffuse Transmission
  858.     Same as diffuse reflection, but only used if the lightsource is on
  859.     opposite side of surface. Only applied if tranlucency is not 0.
  860.   - Transparence
  861.     Transparent color.
  862.   - Specular Transmission
  863.     Same as specular reflection, but only used if the lightsource is on
  864.     opposite side of surface. Only applied if tranlucency is not 0.
  865.   - Reflectivity
  866.     Reflective color.
  867.   - Translucency
  868.     Specular transmittance.
  869.   - Reflection exponent
  870.     Determines the size of the specularly reflected highlights, the higher
  871.     the smaller the highlight.
  872.   - Index of refraction
  873.     Determines how the ray through transparent objects is refracted, the
  874.     higher the more.
  875.   - Transmission exponent
  876.     Same as specular reflection exponent, but only used if the lightsource
  877.     is on opposite side of surface.
  878.   - Fog length
  879.   - Bright
  880.     The brightness of the surface is everywhere the same. Light sources don't
  881.     affect the surface, no shadows are visible on the surface, but the object
  882.     casts shadows.
  883. - ›3mBrush›0m
  884.   Brushes are pictures which are projected to the surface. They can replace
  885.   different surface parameters as color, transparency, reflectivity and
  886.   specularity. Additional with altitude mapping brushes can change the normals
  887.   of the surface to simulate bumps or other structures which go 'in' or come
  888.   'out' of the surface.
  889.   There are three wrap methods available:
  890.   - flat (Flat)
  891.     The brush is projected to X-Y plane.
  892.   - cylindrical around x- or y-axis (WrapX and WrapY)
  893.     The brush is wrapped around the x or y-axis, like on a cylinder. The left
  894.     edge of the brush begins at the posititve x-axis and wraps the brush around
  895.     the cylinder from 'west' to 'east'.
  896.   - spherical (WrapXY)
  897.     Wrapping both: around x- and y-axis. It is assumed, that the object is a
  898.     sphere. The y-axis is the north/south pole of the spherical mapping. The
  899.     left edge of the brush begins at the positive x-axis and wraps the brush
  900.     around the sphere from 'west' to 'east'. The brush covers the sphere
  901.     exactly once.
  902.   Additional brushes can be repeated and mirrored (only for flat or cylindrical
  903.   mapping). If 'Soft' is selected, the color between two points of the brush is
  904.   softly interpolated.
  905. - ›3mTexture›0m
  906.   Textures are mathematical generated patterns. Textures can change color,
  907.   reflectivity, transparency and normals of a surface. Textures are controlled
  908.   with a set of 16 parameters.
  909.  
  910. ›0m›1mPreview›0m
  911.   Renders a preview of the surface on a sphere (only for KS 3.0 and better).
  912.   The light source is always placed right top before the sphere.
  913.   All surface attributes can be viewed here except brushes and fog.
  914.   If reflectivity is set the RayStorm logo is reflected on the surface.
  915. ›0m›1mSave›0m
  916.   Saves the surface data.
  917. ›0m›1mLoad›0m
  918.   Loads surface data.
  919.  
  920. ›0m›1mSettings›0m
  921.  
  922. Opens the ›3msettings requester›0m for the currently selected object.
  923. On the first page you can set the name, track, position, alignment and size of
  924. an object.
  925. With ›0m›3mTrack›0m you can set the name of an object the object will track to.
  926. This means that the object will always point with it's z direction to the axis
  927. of the track object.
  928.  
  929. With the second page you can change object settings. The contents of
  930. this page depends on the object type.
  931.   ›3mCamera   ›0m
  932.   ›3mPointight›0m
  933.   ›3mSpotLight›0m
  934.   ›3mMesh     ›0m
  935.  
  936. ›0m›1mCAMERA SETTINGS›0m
  937.  
  938. With the ›3mcamera settings requester›0m you can set various paramaters, which
  939. influence the camera.
  940.  
  941. ›0m›3mFocal distance›0m and ›0m›3mAperture›0m set the parameters for
  942. ›3mDepth of Field›0m. If you select ›0m›3mFocus Track›0m and the camera tracks
  943. to an object the focal distance of the camera is automatically set to the
  944. distance between camera and track.
  945.  
  946. With the values of ›0m›3mHorizontal›0m and ›0m›3mVertical›0m field of view you
  947. can set the opening angle of the camera lens. If you activate the button
  948. ›0m›3mTake VFOV from resolution›0m Scenario calculates the vertical field of
  949. view (VFOV) from the resolution and the horizontal field of view (HFOV). An
  950. Example will demonstrate this. You selected a HFOV of 30 degree and a
  951. resolution of 800x600 pixels. This means that the VFOV is
  952.   600 / 800 * 30 = 22.5 degree.
  953.  
  954. ›0m›1mLIGHT SETTINGS›0m
  955.  
  956. With the ›3mlight settings requester›0m you can set various paramaters which
  957. influence the light.
  958.  
  959. ›0m›3mColor›0m sets the color of the light source.
  960.  
  961. ›0m›3mFalloff›0m is the distance where the intensity of the light source is
  962. zero. A value of zero disables it.
  963.  
  964. ›0m›3mCast shadows›0m enables the light source to cast shadows.
  965.  
  966. ›0m›3mLens flares›0m enables the ›3mlens flare settings›0m.
  967.  
  968. ›0m›3mVisible light›0m enables the ›3mvisible light settings›0m.
  969.  
  970. ›0m›1mLIGHT SETTINGS›0m
  971.  
  972. With the ›3mlight settings requester›0m you can set various paramaters which
  973. influence the light.
  974.  
  975. ›0m›3mColor›0m sets the color of the light source.
  976.  
  977. ›0m›3mFalloff›0m is the distance where the intensity of the light source is
  978. zero. A value of zero disables it.
  979.  
  980. ›0m›3mOpening angle›0m sets the opening angle of a spotlightsource in degree.
  981.  
  982. ›0m›3mCast shadows›0m enables the light source to cast shadows.
  983.  
  984. ›0m›3mLens flares›0m enables the ›3mlens flare settings›0m.
  985.  
  986. ›0m›3mVisible light›0m enables the ›3mvisible light settings›0m.
  987.  
  988. ›0m›1mLENS FLARES›0m
  989.  
  990. With the ›3mlens flare settings›0m you can create and change lens flares.
  991.  
  992. Lens flares only appear when the light source is visible. They appear on an
  993. axis which runs from the center of the light source through the center of the
  994. screen. The position of the flare is relative to the light source it belongs
  995. to. If the position value is zero, the flare appears at the position of the
  996. light source. Higher values of position move it towards the center of the
  997. screen.
  998. Here are some example values and their meaning:
  999.  
  1000.    0 : flare has the same position as the light source
  1001.  100 : flare is in the middle of the screen
  1002.  200 : flare is on opposite side of the light source
  1003.  
  1004. You can also set position to negative values, so the flare will appear behind
  1005. the light source.
  1006.  
  1007. The radius of the flare is relative to the horizontal render resolution.
  1008. For example: A flare with radius of 20 % renderd with a resolution of 320x200
  1009. will have a radius of 0.2*320 = 64 pixels.
  1010.  
  1011. ›0m›1mType›0m is global to all flares and can be one of the following
  1012. identifiers:
  1013.  
  1014. Disc
  1015.   A flare which looks like a disc
  1016. Polygon n
  1017.   A flare which looks like a polygon. n is the number of edges.
  1018.  
  1019. ›0m›1mTilt›0m is also global to all flares and sets the angle the flares
  1020. are rotated.
  1021.  
  1022. ›0m›1mFunction›0m can be one of the following:
  1023.  
  1024. Plain
  1025.   the color of the flare is uniform
  1026. Ring
  1027.   the flare looks like a ring
  1028. Radial
  1029.   varies the color of the flare radial around the flare center
  1030.  
  1031. The flares can either be selected by their number with the slider at top
  1032. of the requester, or in the display area of the requester by clicking with
  1033. the mouse on it.
  1034.  
  1035. ›0m›1mVISIBLE LIGHT›0m
  1036.  
  1037. With the ›3mvisible light settings›0m you can change the appearance of the
  1038. light source.
  1039.  
  1040. In reality, a light source looks like a star with several spikes getting out
  1041. of the center of the light source. Usually there's a halo around it too.
  1042.  
  1043. The radius (length of the longest spike) of the star is relative to the
  1044. horizontal render resolution (see ›3mLens Flares›0m).
  1045.  
  1046. The radius of the halo is relative to the radius of the star itself. A value
  1047. of 100 % means, that the halo has the same radius as the star.
  1048. The radius of the inner halo is relative to the radius of the outer halo. A
  1049. value of 100 % means, that the inner halo has the same radius as the outer
  1050. halo.
  1051.  
  1052. The range value determines the difference between the longest and the shortes
  1053. spike of the star. A value of 0 % means that all spikes have the same length,
  1054. whereas 100 % means that the shortest spike has zero length.
  1055.  
  1056. The tilt angle rotates the star spikes.
  1057.  
  1058. The spike width value is a factor for the width of the spikes. Higher values
  1059. generate wider spikes.
  1060.  
  1061. ›0m›1mHow are the spikes computed ?›0m
  1062. The four spikes in the main directions (0, 90, 180, 270 degrees) always have
  1063. maximum length. Spikes between them (45, 135, ... degrees for example) are
  1064. shorter and again spikes between them are shorter and so on.
  1065.  
  1066. If you enable random, the length of the spikes is randomly changed.
  1067.  
  1068. ›0m›1mMESH SETTINGS›0m
  1069.  
  1070. The mesh settings requester is different for external and normal object.
  1071.  
  1072. For normal objects the requester looks like ›3mthis›0m.
  1073.  
  1074. If ›0m›3mNo phong shading›0m is activated the mesh object is rendered
  1075. without soft interpolation of the surface brightness. The object looks
  1076. like made of single facetts.
  1077.  
  1078. For external objects the requester looks like ›3mthis›0m.
  1079.  
  1080. ›0m›3mObject filename›0m sets the the name of the external object which is
  1081. attached with the mesh object.
  1082.  
  1083. If ›0m›3mApply surface to childs›0m is activated the surface of the mesh
  1084. object is applied to the surface of the attached external object.
  1085.  
  1086. ›0m›1mGROUP›0m
  1087.  
  1088. Groups the selected objects.
  1089.  
  1090. ›0m›1mUNGROUP›0m
  1091.  
  1092. Ungroups the selected objects.
  1093.  
  1094. ›0m›1mLOAD›0m
  1095.  
  1096. Loads an external object. Currently RayStorm, Imagine, 3DS and RAW objects
  1097. are supported. Scenario generates an axis and adds the object as childs of it.
  1098.  
  1099. After loading the name of the object file can be changed with the ›3mmesh settings›0m
  1100. requester.
  1101.  
  1102. ›0m›1mSAVE›0m
  1103.  
  1104. Saves an object and it's childs in RayStorm object file format. You can only
  1105. save objects from the root level of the object tree. This means you cannot
  1106. save child objects. You also cannot save external objects.
  1107.  
  1108. ›0m›1mCREATE›0m
  1109.  
  1110.    ›3m Sphere     ›0m
  1111.    ›3m Box        ›0m
  1112.    ›3m Plane      ›0m
  1113.    ›3m Pointlight ›0m
  1114.    ›3m Spotlight  ›0m
  1115.    ›3m Camera     ›0m
  1116.  
  1117. ›0m›1mSPHERE›0m
  1118.  
  1119. Creates a new sphere at position <0,0,0> with radius 1.
  1120.  
  1121. ›0m›1mBOX›0m
  1122.  
  1123. Creates a new box at position <0,0,0> with the left, bottom, front edge
  1124. at <-1,-1,-1> and the right, top, back edge at <1,1,1>.
  1125.  
  1126. ›0m›1mPLANE›0m
  1127.  
  1128. Creates a new plane at position <0,0,0> with the normal pointing in positive
  1129. y direction.
  1130.  
  1131. ›0m›1mPOINTLIGHT›0m
  1132.  
  1133. Creates a new point light source at position <0,0,0>.
  1134.  
  1135. ›0m›1mSPOTLIGHT›0m
  1136.  
  1137. Creates a new spot light source at position <0,0,0> with a opening angle of
  1138. 45 degree pointing in negative y direction.
  1139.  
  1140. ›0m›1mCAMREA›0m
  1141.  
  1142. Creates a new pinhole camera at position <0,0,0> with a horizontal and
  1143. vertical field of view of 25 degree witch is pointing in positive z
  1144. direction.
  1145.  
  1146. ›0m›1mMESH›0m
  1147.  
  1148.    ›3m Axis             ›0m
  1149.    ›3m Cube             ›0m
  1150.    ›3m Sphere           ›0m
  1151.    ›3m Plane            ›0m
  1152.    ›3m Tube             ›0m
  1153.    ›3m Cone             ›0m
  1154.    ›3m Torus            ›0m
  1155.  
  1156. ›0m›1mAXIS›0m
  1157.  
  1158. Creates a new axis at position <0,0,0> with size <1,1,1>. An axis can be used
  1159. to track a camera or a spot lightsource on it.
  1160.  
  1161. ›0m›1mCUBE›0m
  1162.  
  1163. Creates a cube at position <0,0,0>. You can set the size of the cube with a
  1164. requester.
  1165.  
  1166. ›0m›1mSPHERE›0m
  1167.  
  1168. Creates a spere at position <0,0,0>. You can set the size, the divisions and
  1169. the slices with a requester.
  1170.  
  1171. ›0m›1mPlane›0m
  1172.  
  1173. Creates a plane at position <0,0,0> with normal pointing in positive y-
  1174. direction. You can set the divisions with a requester.
  1175.  
  1176. ›0m›1mTUBE›0m
  1177.  
  1178. Creates a tube at position <0,0,0>. You can set the size, the height, the
  1179. divisions, the slices and if it's a closed tube with a requester.
  1180.  
  1181. ›0m›1mCONE›0m
  1182.  
  1183. Creates a cone at position <0,0,0>. You can set the size, height, divisions,
  1184. slices, and if the cone is closen with a requester.
  1185.  
  1186. ›0m›1mTORUS›0m
  1187.  
  1188. Creates a torus at position <0,0,0>. You can set the inner and outer size, the
  1189. division and slices with a requester.
  1190.  
  1191. ›0m›1mACTIVE CAMERA›0m
  1192.  
  1193. You can select the active camera.
  1194.  
  1195. ›0m›1mBROWSE›0m
  1196.  
  1197. Opens the object browser. There are two different selectable behaviours:
  1198. - Normal
  1199.   View by selecting an entry and pressing the view button.
  1200.   Select object with double click.
  1201. - Alternative
  1202.   View by selecting any entry.
  1203.   Select object with double click.
  1204. The behaviour is selectable in the ›3mpreferences requester›0m.
  1205.  
  1206. ›0m›1mPREFS›0m
  1207.  
  1208. Opens the preferences requester.
  1209.  
  1210. The ›3m'Paths'-page›0m let you set various paths.
  1211.  
  1212. ›0m›1mViewer›0m
  1213.    Sets the path and name of the viewer. This viewer is used to display the
  1214.    images generated by RayStorm. The filename of the image is appended to the
  1215.    end of the string. You have specify the whole path, for example not
  1216.    'multiview' but 'sys:utilities/multiview'.
  1217. ›0m›1mProject path›0m
  1218.    Sets the default path for projects
  1219. ›0m›1mObject path›0m
  1220.    Sets the default path for objects.
  1221. ›0m›1mTexture path›0m
  1222.    Sets the default path for textures.
  1223. ›0m›1mBrush path›0m
  1224.    Sets the default path for brushes.
  1225.  
  1226. The ›3m'Flags'-page›0m let you set various flags.
  1227.  
  1228. ›0m›1mAlternative browser mode›0m
  1229.    See ›3mBrowse›0m.
  1230. ›0m›1mAlways show coordinates›0m
  1231.    The 3d coordinates of the mouse pointer are displayed for front, right and
  1232.    top. If a object is transformed, the relative coordinates, rotation angles
  1233.    or scale fctors are displayed
  1234.  
  1235. On the ›3m'Undo'-page›0m you can set undo related
  1236. things:
  1237.  
  1238. ›0m›1mUndo memory kB›0m
  1239.    Sets the maximum amount of memory used for undo informations. Old undo
  1240.    operations are deleted if the memory limit is reached.
  1241.  
  1242. ›0m›1mMUI›0m
  1243.  
  1244. Opens the MUI preferences.
  1245.  
  1246. ›0m›1mLOAD›0m
  1247.  
  1248. Loads the preferences from a file called 'scenario.prefs'.
  1249.  
  1250. ›0m›1mSAVE›0m
  1251.  
  1252. Saves the preferences to a file called 'scenario.prefs'.
  1253.  
  1254. ›0m›1mBUTTONS›0m
  1255.  
  1256. The first three buttons handle the project management (new, load
  1257. and save project.
  1258.  
  1259. The next six buttons are for selecting the view (front, right, top,
  1260. perspective, quad and camera view).
  1261.  
  1262. The following three buttons select the display type. (bounding box,
  1263. wireframe and solid display).
  1264.  
  1265. After this are six buttons to select the edit mode (move, rotate, scale object
  1266. and move, rotate, scale world).
  1267.  
  1268. The next three buttons enable the X, Y and Z-axis.
  1269.  
  1270. ›0m›1mOBJECT MENUS›0m
  1271.  
  1272. Sceneario supports object oriented menus. These menus are shown when you click
  1273. the right mouse button inside the work area and hold it. Scenario then pops
  1274. up a menu. The contents of this menu depends on the object which is found at
  1275. this position.
  1276.  
  1277. ›0m›1mWorld menu›0m
  1278.  
  1279. The world menu is shown if you click on a place where no object is placed.
  1280. The menu contents follwing points:
  1281.  
  1282. Move:       switch to move world
  1283. Rotate:     switch to rotate (the virtual camera is rotated around the view
  1284.             point (only perspective mode))
  1285. Zoom:       zoom in or out
  1286. Settings:   opens the general settings requester
  1287.  
  1288. ›0m›1mObject menu›0m
  1289.  
  1290. The object menu pops up if you click on the handle of the object.
  1291. The menu contents follwing points:
  1292.  
  1293. Move:       switch to mode move object
  1294. Rotate:     switch to rotate object (the object is rotated around it's local
  1295.             axis)
  1296. Scale:      switch to scale object
  1297. Settings:   opens the ›3msettings›0m requester
  1298. Attributes: opens the surface ›3mattributes›0m
  1299.             requester
  1300.  
  1301. ›0m›1mCamera menu›0m
  1302.  
  1303. The camera menu pops up if you click on the handle of a camera
  1304. The menu contents follwing points:
  1305.  
  1306. Move, Rotate, Scale, Settings: see object menu
  1307. Settings:   opens the ›3mcamera settings›0m requester
  1308. Active:     sets this camera as the active camera (the scene is viewed with
  1309.             this camera)
  1310.  
  1311. ›0m›1mLight menu›0m
  1312.  
  1313. Opens the light popup menu.
  1314. The menu contents follwing points:
  1315.  
  1316. Move, Rotate, Scale, Settings: see object menu
  1317. Settings:   opens the ›3mlight source settings›0m requester
  1318.  
  1319. ›0m›1mMesh menu›0m
  1320.  
  1321. Opens the mesh popup menu.
  1322. The menu contents follwing points:
  1323.  
  1324. Move, Rotate, Scale, Settings: see object menu
  1325. Settings:   opens the ›3mMesh settings›0m requester
  1326. Attributes: see object menu
  1327. To scene:   convert external to scene objects
  1328.  
  1329. ›0m›1mKEYBOARD CONTROL›0m
  1330.  
  1331. ESC          break redraw
  1332. cursor keys  Function depends on the curren edit mode (move, rotate, scale of
  1333.              world or object).
  1334. DEL          delete selected objects
  1335. '+'          zooms in
  1336. '-'          zooms out
  1337. 'm'          switches to move object action
  1338. 'r'          switches to rotate object action
  1339. 's'          switches to scale object action
  1340. 'M'          switches to move world action
  1341. 'R'          switches to rotate world action
  1342. 'S'          switches to scale world action
  1343. 't'          opens settings requester
  1344. '1'          switches to front view
  1345. '2'          switches to right view
  1346. '3'          switches to top view
  1347. '4'          switches to perspective view
  1348. '5'          switches to quad view
  1349. '6'          switches to camera view
  1350. 'b'          toggles box selection mode
  1351. 'x'          enable x axis
  1352. 'y'          enable y axis
  1353. 'z'          enable z axis
  1354.  
  1355. 'F1'         render settings
  1356.  
  1357. 'R-Amiga' - '.'   Center view
  1358.  
  1359. ›0m›1mTIPS & TRICKS›0m
  1360.  
  1361. ›0m›1mGeneral›0m
  1362. - RayStorm renders faster if you don't use planes, because intersections
  1363.   with planes cannot be calculated with the octree (helpfull in scenes with
  1364.   motion blur or soft shadows).
  1365.  
  1366. ›0m›1mScenario›0m
  1367.  
  1368. - ›0m›1mI have problems with the screen refresh, the scene is only refreshed
  1369.   behind the requester!›0m
  1370.   Open the ›3mMUI-settings›0m requester and select from the window
  1371.   part for "Refresh" the "Smart"-mode.
  1372. - ›0m›1mHow can I change the texture and brush names without removing and adding
  1373.   them again?›0m
  1374.   Select ›3mView->Show->Show Textures›0m or ›3mView->Show->Show Brushes›0m
  1375.   and select the texture or brush. Now open the ›3msettings-requester›0m and change
  1376.   the name of the brush or texture.
  1377. - ›0m›1mHow can I change the name of an Imagine/3DS/RAW-object without deleting
  1378.   and reloding it?›0m
  1379.   Select ›3mSettings›0m from the object menu of the parent axis. Here you
  1380.   can change the name of the object.
  1381. - ›0m›1mHow can I load my old Imagine attribute files to use it for RayStorm
  1382.   objects?›0m
  1383.   Load the attributes file with ›3mload object›0m. You will get an axis
  1384.   named 'Mesh' with another axis attached to it. The surface of this axis is set
  1385.   to the attributes of the file. Click with the right mouse button to the parent
  1386.   axis and select ›3mTo scene›0m. The parent axis is no deleted
  1387.   and can now open the attributes requester for the child axis. Select save from
  1388.   the ›3mattributes requester›0m and save the surface as a RayStorm material file.
  1389. - ›0m›1mIf I apply a checker texture to a plane looks noisy!›0m
  1390.   If the texture is exactly on the plane, the color of the texture jumps
  1391.   between black and white because of rounding errors. Try to move the texture
  1392.   axis a little (e.g. 0.02) away from the plane.
  1393.  
  1394. ›0m›1mRayStorm Script›0m
  1395. - The commands '›3mTEXTUREPATH›0m', '›3mOBJECTPATH›0m' and '›3mBRUSHPATH›0m' are relative
  1396.   to the directory RayStorm is started from.
  1397. - If RayStorm crashes with scenes with reflections and transparence, try
  1398.   to start RayStorm with a larger stack (e.g. 8192 bytes or more).
  1399.  
  1400. ›0m›1mAREXX INTERFACE›0m
  1401.  
  1402.    ›3mIntroduction›0m
  1403.    ›3mAddress     ›0m
  1404.    ›3mParameters  ›0m
  1405.    ›3mCommands    ›0m
  1406.    ›3mErrors      ›0m
  1407.  
  1408. ›0m›1mAREXX INTRODUCTION›0m
  1409.  
  1410. RayStorm is completly controled through it's ARexx interface. We recommend
  1411. that you have a look at the ›3mtuturials›0m and the ›3mexample›0m
  1412. script files in the 'ARexx' directory.
  1413. These examples cover most of the features of RayStorm. Further encourage you
  1414. to create your own files and make them available for the public. You can send
  1415. them to us and we might add them as an example files in the next version of
  1416. RayStorm or we include them to our ›3mHomepage›0m.
  1417. In one of the next versions of RayStorm we'll create a more powerful
  1418. language, which has a similar syntax to C++.
  1419.  
  1420. It's the same if you write the the commands in upper case or lower case.
  1421. But it's important to enclose all commans in quotes because ARexx tries
  1422. to interpret the line before it sends it to ARexx. It may happen that the
  1423. line is changed and RayStorm don't do this what you want.
  1424.  
  1425. A typical structure of a scene file is:
  1426.  
  1427. /* title, comments, ... */
  1428.  
  1429. /* setting resolution, world, camera, lightsources */
  1430. 'SETSCREEN 160 128'
  1431. 'SETWORLD [0,0,0] [40,40,40]'
  1432. 'SETCAMERA <0,0,80> <0,0,0> <0,1,0> 25 20'
  1433. 'POINTLIGHT <10,-10,100> [255,255,255] SHADOW'
  1434.  
  1435. /* define surfaces and actors */
  1436. 'NEWSURFACE TEST1'
  1437. 'AMBIENT [255,0,0]'
  1438. 'DIFFUSE [255,0,0]'
  1439. 'SPECULAR [255,255,255]'
  1440.  
  1441. 'NEWSURFACE TEST2'
  1442. 'AMBIENT [0,0,255]'
  1443.  
  1444. /* creating objects */
  1445. 'SPHERE TEST1 <0,0,0> 10'
  1446. 'SPHERE TEST2 <0,0,0> 10'
  1447.  
  1448. /* finally start to render the scene */
  1449. 'STARTRENDER'
  1450.  
  1451. /* save the image */
  1452. 'SAVEPIC "test.iff"'
  1453.  
  1454. 'CLEANUP'
  1455.  
  1456. ›0m›1mADDRESS›0m
  1457.  
  1458. The ARexx-address of RayStorm is 'RAYSTORM'.
  1459.  
  1460. ›0m›1mAREXX PARAMETERS›0m
  1461.  
  1462. The parameters of a command can be FLOATs, INTEGERs, VECTORs, COLORs,
  1463. STRINGs, and IDENTIFIERs.
  1464.  
  1465. FLOAT     An FLOAT is a floating point number with single precision
  1466.  
  1467. NUMBER    A NUMBER is a simple integer number
  1468.  
  1469. VECTOR    A VECTOR is embedded in '<' '>' and consists of three FLOATs
  1470.  
  1471. COLOR     A COLOR is embedded in '[' ']' and consists of three INTEGERs
  1472.           which range normally from 0 to 255, but you can also set negative
  1473.           values or values above of 255.
  1474.  
  1475. STRING    A STRING consists of characters
  1476.  
  1477. KEYWORD   An KEYWORD is a switch and consists of uppercase characters
  1478.  
  1479. ›0m›1mPARAMETER CONVENTIONS›0m
  1480.   /S - Switch.
  1481.   /N - Number.
  1482.   /A - Required.
  1483.  
  1484.   All other numeric parameters are floating point numbers.
  1485.  
  1486. ›0m›1mAREXX COMMANDS›0m
  1487.  
  1488.    ›3m General         ›0m
  1489.    ›3m Objects         ›0m
  1490.    ›3m Attributes      ›0m
  1491.    ›3m Animation       ›0m
  1492.  
  1493. ›0m›1mAlphabetically sorted›0m
  1494.  
  1495. ›0m›1m-A-›0m
  1496.   ›3mALIGNMENT  ›0m
  1497.   ›3mAMBIENT    ›0m
  1498.   ›3mANTIALIAS  ›0m
  1499. ›0m›1m-B-›0m
  1500.   ›3mBOX        ›0m
  1501.   ›3mBRUSH      ›0m
  1502.   ›3mBRUSHPATH  ›0m
  1503. ›0m›1m-C-›0m
  1504.   ›3mCLEANUP    ›0m
  1505.   ›3mCSG        ›0m
  1506. ›0m›1m-D-›0m
  1507.   ›3mDIFFTRANS  ›0m
  1508.   ›3mDIFFUSE    ›0m
  1509.   ›3mDISPLAY    ›0m
  1510.   ›3mDISTRIB    ›0m
  1511. ›0m›1m-F-›0m
  1512.   ›3mFLARE      ›0m
  1513.   ›3mFOGLEN     ›0m
  1514. ›0m›1m-G-›0m
  1515.   ›3mGETERRORSTR›0m
  1516. ›0m›1m-I-›0m
  1517.   ›3mIMTEXTURE  ›0m
  1518. ›0m›1m-L-›0m
  1519.   ›3mLOADOBJ    ›0m
  1520. ›0m›1m-N-›0m
  1521.   ›3mNEWSURFACE ›0m
  1522. ›0m›1m-O-›0m
  1523.   ›3mOBJECTPATH ›0m
  1524. ›0m›1m-P-›0m
  1525.   ›3mPLANE      ›0m
  1526.   ›3mPOINTLIGHT ›0m
  1527.   ›3mPOSITION   ›0m
  1528. ›0m›1m-Q-›0m
  1529.   ›3mQUIT       ›0m
  1530. ›0m›1m-R-›0m
  1531.   ›3mREFEXP     ›0m
  1532.   ›3mREFLECT    ›0m
  1533.   ›3mREFRINDEX  ›0m
  1534. ›0m›1m-S-›0m
  1535.   ›3mSAVEPIC    ›0m
  1536.   ›3mSETCAMERA  ›0m
  1537.   ›3mSETSCREEN  ›0m
  1538.   ›3mSETWORLD   ›0m
  1539.   ›3mSIZE       ›0m
  1540.   ›3mSPECTRANS  ›0m
  1541.   ›3mSPECULAR   ›0m
  1542.   ›3mSPHERE     ›0m
  1543.   ›3mSPOTLIGHT  ›0m
  1544.   ›3mSTAR       ›0m
  1545.   ›3mSTARTRENDER›0m
  1546. ›0m›1m-T-›0m
  1547.   ›3mTEXTUREPATH›0m
  1548.   ›3mTRANSEXP   ›0m
  1549.   ›3mTRANSLUC   ›0m
  1550.   ›3mTRANSPAR   ›0m
  1551.   ›3mTRIANGLE   ›0m
  1552. ›0m›1m-W-›0m
  1553.   ›3mWINTOFRONT ›0m
  1554.  
  1555. ›0m›1mGENERAL AREXX-COMMANDS›0m
  1556.  
  1557. ›3mANTIALIAS  ›0m  sets antialiasing parameters
  1558. ›3mBRUSHPATH  ›0m  sets brush path
  1559. ›3mCLEANUP    ›0m  cleanups scene
  1560. ›3mDISPLAY    ›0m  displays scene
  1561. ›3mDISTRIB    ›0m  sets parameters for distributive sampling
  1562. ›3mFLARE      ›0m  add a flare to a lightsource
  1563. ›3mGETERRORSTR›0m  gets a error string for a given number
  1564. ›3mOBJECTPATH ›0m  sets object path
  1565. ›3mPOINTLIGHT ›0m  creates point lightsource
  1566. ›3mQUIT       ›0m  quits RayStorm
  1567. ›3mSAVEPIC    ›0m  saves rendered picture
  1568. ›3mSETCAMERA  ›0m  sets camera parameters
  1569. ›3mSETSCREEN  ›0m  sets screen parameters
  1570. ›3mSETWORLD   ›0m  sets world parameters
  1571. ›3mSPOTLIGHT  ›0m  creates spot lightsource
  1572. ›3mSTAR       ›0m  add a light star to a lightsource
  1573. ›3mSTARTRENDER›0m  starts rendering
  1574. ›3mTEXTUREPATH›0m  sets texture path
  1575. ›3mWINTOFRONT ›0m  brings window to front
  1576.  
  1577. ›0m›1mANTIALIAS›0m
  1578.  
  1579. ›0m›1mTemplate:›0m
  1580.  SAMPLES/N/A,WIDTH,CONTRIB
  1581. ›0m›1mArguments:›0m
  1582.  NUMBER SAMPLES
  1583.    squareroot of number of samples per pixel (max. 8)
  1584.  FLOAT WIDTH
  1585.    width of gaussian filter. The range is infinite but values between 1 and
  1586.    3 are recommended.
  1587.  COLOR CONTRIB
  1588.    max. allowed contrast
  1589. ›0m›1mDescription:›0m
  1590.  Sets antialiasing parameters (see ›3mAntialiasing›0m)
  1591. ›0m›1mDefault:›0m
  1592.  ANTIALIAS 1 1.3 [51,38,76]
  1593.  
  1594. ›0m›1mBRUSHPATH›0m
  1595.  
  1596. ›0m›1mTemplate:›0m
  1597.  PATH/A
  1598. ›0m›1mArguments:›0m
  1599.  STRING PATH
  1600.    pathname
  1601. ›0m›1mDescription:›0m
  1602.  Defines the path where to search brushes. More than one path may be included
  1603.  as long as they are separated by semi-colons.
  1604. ›0m›1mExample:›0m
  1605.  BRUSHPATH 'path1;path2'
  1606.  
  1607. ›0m›1mCLEANUP›0m
  1608.  
  1609. ›0m›1mTemplate:›0m
  1610.  none
  1611. ›0m›1mArguments:›0m
  1612.  none
  1613. ›0m›1mDescription:›0m
  1614.  Deletes all defined objects, lightsources, surfaces and actors
  1615.  
  1616. ›0m›1mDISPLAY›0m
  1617.  
  1618. ›0m›1m!!! CAUTION !!!
  1619. THIS COMMAND ISN'T RELEASED IN THIS VERSION YET
  1620. !!! CAUTION !!!›0m
  1621.  
  1622. ›0m›1mTemplate:›0m
  1623.  FLOYD/S
  1624. ›0m›1mArguments:›0m
  1625.  KEYWORD FLOYD/S
  1626.    dither with Floyd-Steinberg algorithm
  1627. ›0m›1mDescription:›0m
  1628.  Displays rendered pic on screen
  1629.  
  1630. ›0m›1mDISTRIB›0m
  1631.  
  1632. ›0m›1mTemplate:›0m
  1633.  SAMPLES/N,SOFTSHADOW/N
  1634. ›0m›1mArguments:›0m
  1635.  NUMBER SAMPLES/N
  1636.    squareroot of number of samples per pixel for motionblur
  1637.  NUMBER SOFTSHADOW/N
  1638.    squareroot of number of samples per pixel for softshadows
  1639. ›0m›1mDescription:›0m
  1640.  Sets number of samples per pixel for distributive sampling (used for
  1641.  
  1642. ›0m›1mDefault:›0m
  1643.  DISTRIB 1,1
  1644.  
  1645. ›0m›1mGETERRORSTR›0m
  1646.  
  1647. ›0m›1mTemplate:›0m
  1648.  ERRNUM/N/A
  1649. ›0m›1mArguments:›0m
  1650.  NUMBER ERRNUM
  1651.    error number
  1652. ›0m›1mDescription:›0m
  1653.  Returns the error string for the given error number
  1654.  
  1655. ›0m›1mOBJECTPATH›0m
  1656.  
  1657. ›0m›1mTemplate:›0m
  1658.  PATH/A
  1659. ›0m›1mArguments:›0m
  1660.  PATH
  1661.    pathname
  1662. ›0m›1mDescription:›0m
  1663.  Defines the path where to search objects. More than one path may be included
  1664.  as long as they are separated by semi-colons.
  1665. ›0m›1mExample:›0m
  1666.  OBJECTPATH 'path1;path2'
  1667.  
  1668. ›0m›1mPOINTLIGHT›0m
  1669.  
  1670. ›0m›1mTemplate:›0m
  1671.  POS/A,COLOR,SIZE,SHADOW/S,ACTOR,FALLOFF,NOSTAR/S,NOFLARES/S
  1672. ›0m›1mArguments:›0m
  1673.  VECTOR POS
  1674.    position of pointlight
  1675.  COLOR COLOR
  1676.    color of light
  1677.  VECTOR SIZE
  1678.    size of light source (used for ›3msoft shadows›0m)
  1679.  KEYWORD SHADOW
  1680.    lightsource casts shadows
  1681.  STRING ACTOR
  1682.    name of actor
  1683.  FLOAT FALLOFF
  1684.    distance where the brightness of the light is zero
  1685.  KEYWORD NOSTAR
  1686.    disable light star
  1687.  KEYWORD NOFLARES
  1688.    disable lens flares
  1689. ›0m›1mDescription:›0m
  1690.  Creates a point lightsource. The lightsource casts shadows, if the keyword SHADOW is given
  1691. ›0m›1mDefault:›0m
  1692.  POINTLIGHT <0,0,0> [255,255,255] 0 ?? ?? 0
  1693.  
  1694. ›0m›1mQUIT›0m
  1695.  
  1696. ›0m›1mTemplate:›0m
  1697.  none
  1698. ›0m›1mArguments:›0m
  1699.  none
  1700. ›0m›1mDescription:›0m
  1701.  Quits Raystrom
  1702.  
  1703. ›0m›1mSAVEPIC›0m
  1704.  
  1705. ›0m›1mTemplate:›0m
  1706.  NAME/A,FORMAT
  1707. ›0m›1mArguments:›0m
  1708.  STRING NAME
  1709.    the picture is saved under that name
  1710.  STRING FORMAT
  1711.    image format (TGA, PNG, ILBM; default ILBM)
  1712. ›0m›1mDescription:›0m
  1713.  Saves rendered picture 24-Bit IFF-ILBM-file, 24 Bit TGA or as PNG file. If
  1714.  an error occures the command returns an error string.
  1715. ›0m›1mExample:›0m
  1716.  SAVEPIC 'path\name with extension'
  1717.  
  1718. ›0m›1mSETCAMERA›0m
  1719.  
  1720. ›0m›1mTemplate:›0m
  1721.  POS/A,VIEWPOINT,VIEWUP,FOVX,FOVY,FOCALDIST,APERTURE,POSACTOR,VIEWACTOR
  1722. ›0m›1mArguments:›0m
  1723.  VECTOR POS
  1724.    position of camera
  1725.  VECTOR VIEWPOINT
  1726.    position to which the camera point to
  1727.  VECTOR VIEWUP
  1728.    view up vector
  1729.  FLOAT FOVX, FOVY
  1730.    field of view (in degree) (20 degree creates camera like Imagine
  1731.    default camera)
  1732.  FLOAT FOCALDIST
  1733.    distance from eye to focal plane
  1734.  FLOAT APERTURE
  1735.    aperture width (0 = pinhole) (-> ›3mdepth of field›0m)
  1736.  STRING POSACTOR
  1737.    name of position actor
  1738.  STRING VIEWACTOR
  1739.    name of look_at_actor
  1740. ›0m›1mDescription:›0m
  1741.  Sets the parameters of the camera
  1742. ›0m›1mDefault:›0m
  1743.  SETCAMERA <0,0,-10> <0,0,0> <0,1,0>  45 45 1. 0.
  1744.  
  1745. ›0m›1mSETSCREEN›0m
  1746.  
  1747. ›0m›1mTemplate:›0m
  1748.  RESX/N/A,RESY/N/A,COLORS/N
  1749. ›0m›1mArguments:›0m
  1750.  NUMBER RESX, RESY
  1751.    resolution
  1752.  NUMBER COLORS
  1753.    number of colors (not yet implemented)
  1754. ›0m›1mDescription:›0m
  1755.  Sets the resolution of the rendered picture. Note that in the demo-version
  1756.  the resolution is limited to 160x128!
  1757. ›0m›1mDefault:›0m
  1758.  SETSCREEN 128 128
  1759.  
  1760. ›0m›1mSETWORLD›0m
  1761.  
  1762. ›0m›1mTemplate:›0m
  1763.  BACK/A,AMBIENT,RANDJIT/S,BACKDROP,FOGLEN,FOGHEIGHT,FOGCOLOR,REFLMAP
  1764. ›0m›1mArguments:›0m
  1765.  COLOR BACK
  1766.    backgroundcolor
  1767.  COLOR AMBIENT
  1768.    ambientcolor
  1769.  KEYWORD RANDJIT
  1770.   use random jitter for ›3mdepth of field›0m and ›3msoft shadows›0m
  1771.  STRING BACKDROP
  1772.    name of backdrop picture
  1773.  FLOAT FOGLEN
  1774.    global fog length
  1775.  FLOAT FOGHEIGHT
  1776.    highest fog y-coordinate
  1777.  COLOR FOGCOLOR
  1778.    fogcolor
  1779.  STRING REFLMAP
  1780.    name of reflection map
  1781. ›0m›1mDescription:›0m
  1782.  Sets world parameters. The backdrop picture is automatically scaled to
  1783.  the screen resolution.
  1784. ›0m›1mDefault:›0m
  1785.  SETWORLD [0,0,0] [0,0,0] ?? 32 0 [255,255,255] ??
  1786.  
  1787. ›0m›1mSPOTLIGHT›0m
  1788.  
  1789. ›0m›1mTemplate:›0m
  1790.  POS/A,COLOR,LOOKPOINT,ANGLE,SIZE,SHADOW/S,ACTOR,LOOKP_ACTOR,FALLOFF,NOSTAR/S,NOFLARES/S
  1791. ›0m›1mArguments:›0m
  1792.  VECTOR POS
  1793.    position of the spotlight
  1794.  COLOR COLOR
  1795.    color of light
  1796.  VECTOR LOOKPOINT
  1797.    point to which the spotlight shines at
  1798.  FLOAT ANGLE
  1799.    opening angel (in degree max. 180)
  1800.  FLOAT SIZE
  1801.    size of light source (used for ›3msoft shadows›0m)
  1802.  KEYWORD SHADOW
  1803.    lightsource cats shadows
  1804.  STRING ACTOR
  1805.    name of position actor
  1806.  STRING LOOKP_ACTOR
  1807.    name of look_at_actor
  1808.  FLOAT FALLOFF
  1809.    distance where the brightness of the light is zero
  1810.  KEYWORD NOSTAR
  1811.    disable light star
  1812.  KEYWORD NOFLARES
  1813.    disable lens flares
  1814. ›0m›1mDescription:›0m
  1815.  Creates a spotlight. The rays emitted from a spotlight are constrained
  1816.  by a cone. The LOOKPOINT vector gives the center of the illuminated area.
  1817. ›0m›1mDefault:›0m
  1818.  SPOTLIGHT <0,0,0> [255,255,255] <0,0,1> 45 0 ?? ?? ?? 0
  1819.  
  1820. ›0m›1mFLARE›0m
  1821.  
  1822. ›0m›1mTemplate:›0m
  1823.  POS/A,RADIUS/A,COLOR,TYPE,FUNCTION,EDGES/N,TILT
  1824. ›0m›1mArguments:›0m
  1825.  FLOAT POS
  1826.    position of flare on light axis (in percent)
  1827.  FLOAT RADIUS
  1828.    radius of flare (in percent)
  1829.  COLOR COLOR
  1830.    color of flare
  1831.  KEYWORD TYPE [DISC|POLYGON]
  1832.   type of flare
  1833.  KEYWORD FUNCTION [PLAIN|RING|RADIAL]
  1834.    look of flare
  1835.  NUMBER EDGES
  1836.    number of edges of polygonal flare (3 - 8 edges possible)
  1837.  FLOAT TILT
  1838.    tilt angle of flare (only useful when polygonal flare)
  1839. ›0m›1mDescription:›0m
  1840.  A new lens flare is added to the last defined light source. Lens flares only
  1841.  appear when the light source is visible. They appear on an axis which runs
  1842.  from the center of the light source through the center of the screen. The
  1843.  position of the flare is relative to the light source it belongs to. If the
  1844.  position value is zero, the flare appears at the position of the light source.
  1845.  Greater values of pos move it towards the center of the screen. Here a some
  1846.  example values and their meaning:
  1847.  
  1848.    0 : flare has the same position as the light source
  1849.  100 : flare is in the middle of the screen
  1850.  200 : flare is on opposite side of the light source
  1851.  
  1852.  You can also set pos to negative values, so the flare will appear behind the
  1853.  light source.
  1854.  
  1855.  The radius of the flare is relative to the horizontal render resolution.
  1856.  For example: A flare with radius of 20 % renderd with a resolution of 320x200
  1857.  will have a radius of 0.2*320 = 64 pixels.
  1858.  
  1859.  ›0m›1mtype›0m can be one of the following identifiers:
  1860.  
  1861.  DISC
  1862.    A flare which looks like a disc
  1863.  POLYGON
  1864.    A flare which looks like a polygon. The number of edges can be set with
  1865.    edges.
  1866.  
  1867.  ›0m›1mfunction›0m can be one of the following identifiers:
  1868.  
  1869.  PLAIN
  1870.    the color of the flare is uniform
  1871.  RING
  1872.    the flare looks like a ring
  1873.  RADIAL
  1874.    varies the color of the flare radial around the flare center
  1875. ›0m›1mDefault:›0m
  1876.  FLARE 50 10 [50,50,50] DISC PLAIN 5 0
  1877.  
  1878. ›0m›1mSTAR›0m
  1879.  
  1880. ›0m›1mTemplate:›0m
  1881.  SPIKES,RADIUS,HALORADIUS,INNERHALORADIUS,RANGE,RANDOM_SEED/N,SPIKEWIDTH,TILT
  1882. ›0m›1mArguments:›0m
  1883.  NUMBER SPIKES
  1884.    number of spikes (4 - 256)
  1885.  FLOAT RADIUS
  1886.    radius of star (in percent)
  1887.  FLOAT HALORADIUS
  1888.    radius of star halo (in percent relative to star radius)
  1889.  FLOAT INNERHALORADIUS
  1890.    radius of inner star halo (in percent relative to halo radius)
  1891.  FLOAT RANGE
  1892.    range between shortest and longest spike (in percent)
  1893.  NUMBER RANDOM_SEED
  1894.    Random seed value (0-32767)
  1895.  FLOAT SPIKEWIDTH
  1896.    width factor of spikes
  1897.  FLOAT TILT
  1898.    tilt angle of spikes
  1899. ›0m›1mDescription:›0m
  1900.  This command makes a light source visible. In reality, a light source looks
  1901.  like a star with several spikes getting out of the center of the light source.
  1902.  Usually there's a halo around it too.
  1903.  
  1904.  The radius (length of the longest spike) of the star is relative to the
  1905.  horizontal render resolution (see ›3mFLARE›0m).
  1906.  
  1907.  The radius of the halo is relative to the radius of the star itself. A value
  1908.  of 100 % means, that the halo has the same radius as the star.
  1909.  The radius of the inner halo is relative to the radius of the outer halo. A
  1910.  value of 100 % means, that the inner halo has the same radius as the outer
  1911.  halo.
  1912.  
  1913.  The range value determines the difference between the longest and the shortes
  1914.  spike of the star. A value of 0 % means that all spikes have the same length,
  1915.  whereas 100 % means that the shortest spike has zero length.
  1916.  
  1917.  The spike width value is a factor for the width of the spikes. Higher values
  1918.  generate wider spikes.
  1919.  
  1920.  ›0m›1mHow are the spikes computed ?›0m
  1921.  The four spikes in the main directions (0, 90, 180, 270 degrees) always have
  1922.  maximum length. Spikes between them (45, 135, ... degrees for example) are
  1923.  shorter and again spikes between them are shorter and so on.
  1924.  
  1925.  If you specify a value for random_seed, the length of the spikes is randomly
  1926.  changed.
  1927.  
  1928. ›0m›1mDefault:›0m
  1929.  STAR 4 30 20 40 0 0 0.008
  1930.  
  1931. ›0m›1mSTARTRENDER›0m
  1932.  
  1933. ›0m›1mTemplate:›0m
  1934.  QUICK/S,DEPTH/N,FROM,TO,LEFT/N,TOP/N,RIGHT/N,BOTTOM/N,MINOBJECTS/N
  1935. ›0m›1mArguments:›0m
  1936.  KEYWORD QUICK
  1937.    render quick (no shadows, reflections and transparency)
  1938.  NUMBER DEPTH
  1939.    depth of generated ›3moctree›0m
  1940.  FLOAT FROM,TO
  1941.    time code (default 0,0). If you want ›3mmotion blur›0m you have to
  1942.    set FROM and TO to different values, else only set FROM.
  1943.  NUMBER LEFT,TOP,RIGHT,BOTTOM
  1944.    coordinates for rendering box. Picture is renderd only inside of
  1945.    rectangle.
  1946.  NUMBER MINOBJECTS
  1947.    minimum amount of objects for which no octree is generated
  1948. ›0m›1mDescription:›0m
  1949.  Starts rendering process. If you set QUICK shadows, reflections and
  1950.  transparency are not calculated. In very complex scenes it is useful to
  1951.  increase the octree depth in order to reach a better performance during
  1952.  the rendering process. But this can only be done with enough memory!
  1953.  Here are values for the file "chess.ray" renderd with a resolution of
  1954.  160x128 on a A4000 with 25Mhz 68030 and 57MHz 68882:
  1955.  
  1956.  depth  memory [MByte]  init [mm:ss]  cleanup [mm:ss]  render [mm:ss]  total [mm:ss]
  1957.    2          1.38         00:12           00:02           09:24          09:38
  1958.    3          1.13         00:14           00:04           03:58          04:16
  1959.    4          1.55         00:22           00:08           01:50          02:20
  1960.    5          2.35         00:41           00:26           01:15          02:22
  1961.    6          5.70         01:35           02:38           01:06          05:19
  1962.  
  1963. ›0m›1mDefault:›0m
  1964.  STARTRENDER QUICK 3 0 0
  1965.  
  1966. ›0m›1mTEXTUREPATH›0m
  1967.  
  1968. ›0m›1mTemplate:›0m
  1969.  PATH/A
  1970. ›0m›1mArguments:›0m
  1971.  PATH
  1972.    pathname (format: 'path1;path2;...;pathn')
  1973. ›0m›1mDescription:›0m
  1974.  Defines the path where to search textures. More than one path may be included
  1975.  as long as they are separated by semi-colons.
  1976. ›0m›1mExample:›0m
  1977.  TEXTUREPATH 'path1;path2'
  1978.  
  1979. ›0m›1mWINTOFRONT›0m
  1980.  
  1981. ›0m›1mTemplate:›0m
  1982.  none
  1983. ›0m›1mArguments:›0m
  1984.  none
  1985. ›0m›1mDescription:›0m
  1986.  Brings RayStorm window in front
  1987.  
  1988. ›0m›1mAREXX-COMMANDS FOR CREATING OBJECTS›0m
  1989.  
  1990. ›3mBOX     ›0m  creates a box
  1991. ›3mCSG     ›0m  creates a CSG object
  1992. ›3mLOADOBJ ›0m  loads an Imagine TDDD-file
  1993. ›3mPLANE   ›0m  creates a plane (ground in Imagine)
  1994. ›3mSPHERE  ›0m  creates a sphere
  1995. ›3mTRIANGLE›0m  creates a triangle
  1996.  
  1997. ›0m›1mBOX›0m
  1998.  
  1999. ›0m›1mTemplate:›0m
  2000.  SURF/A,POS/A,LOWBOUNDS,HIGHBOUNDS,ALIGN,ACTOR
  2001. ›0m›1mArguments:›0m
  2002.  STRING SURF
  2003.    name of surface
  2004.  VECTOR POS
  2005.    center of box
  2006.  VECTOR LOWBOUNDS
  2007.    left, front, bottom edge relative to position
  2008.  VECTOR HIGHBOUNDS
  2009.    right, back, top edge relative to position
  2010.  VECTOR ALIGN
  2011.    alignment of box in degree
  2012.  STRING ACTOR
  2013.    name of actor
  2014. ›0m›1mDescription:›0m
  2015.  Creates a box
  2016. ›0m›1mDefault:›0m
  2017.  BOX ?? <0,0,0> <-1,-1,-1> <1,1,1> <0,0,0> ??
  2018.  
  2019. ›0m›1mCSG›0m
  2020.  
  2021. ›0m›1mTemplate:›0m
  2022.  OPERATION
  2023. ›0m›1mArguments:›0m
  2024.  KEYWORD OPERATION [UNION|INTERSECTION|DIFFERENCE]
  2025.    the operation for this CSG object
  2026. ›0m›1mDescription:›0m
  2027.  Creates a new CSG object. The next two objects which are define after this
  2028.  command are take for the CSG object. Valid objects are SPHERE, BOX and
  2029.  a CSG object again.
  2030.  For more information see ›3mthis›0m chapter.
  2031. ›0m›1mDefault:›0m
  2032.  CSG UNION
  2033. ›0m›1mExample:›0m
  2034.  CSG DIFFERENCE
  2035.   CSG INTERSECTION
  2036.    SPHERE surf1 <-.5,0,0> 1
  2037.    SPHERE surf2 <-.5,0,0> 1
  2038.   BOX surf3 <0,0,0> <-2,-.5,-.5> <2,.5,.5>
  2039.  
  2040. ›0m›1mLOADOBJ›0m
  2041.  
  2042. ›0m›1mTemplate:›0m
  2043.  NAME/A,POS,ALIGN,SCALE,ACTOR,SURFACE
  2044. ›0m›1mArguments:›0m
  2045.  STRING NAME
  2046.    filename
  2047.  VECTOR POS
  2048.    position
  2049.  VECTOR ALIGN
  2050.    alignment (in degrees)
  2051.  VECTOR SCALE
  2052.    size factor
  2053.  STRING ACTOR
  2054.    name of actor
  2055.  STRING SURFACE
  2056.    name of surface to replace object surface
  2057. ›0m›1mDescription:›0m
  2058.  Loads an
  2059.   - Imagine TDDD-file
  2060.      loads attributes, triangles (with correct handling of sharp edges),
  2061.      perfect spheres, planes, brushes and textures
  2062.   - Autodesk 3D-Studio file
  2063.      loads attributes, triangles and generates sharp edges
  2064.  If you specify a surface, all surfaces of the object will have that surface
  2065.  (overriding any surfaces defined in the object file).
  2066.  
  2067.  ›0m›1mWhere to get Imagine object files?›0m
  2068.  Look on FTP-servers which support AMINET. For example try out
  2069.   ftp.uni-paderborn.de
  2070.   Path: ftp/aminet/pub/gfx/3dobj/
  2071.  ›0m›1mWhere to get 3D-Studio object files?›0m
  2072.  Try out these WWW-Pages:
  2073.  For Star wars fans: http://www.loop.com/~hhc/
  2074.  Mesh Mart: http://cedar.cic.net/~rtilmann/mm/index.htm
  2075.  Objects Archive: http://sunserver1.rz.uni-duesseldorf.de/~pannozzo/3ds.html
  2076. ›0m›1mDefault:›0m
  2077.  LOADOBJ ??? <0,0,0> <0,0,0> <1,1,1>
  2078.  
  2079. ›0m›1mPLANE›0m
  2080.  
  2081. ›0m›1mTemplate:›0m
  2082.  SURF/A,POS,NORM,ACTOR
  2083. ›0m›1mArguments:›0m
  2084.  STRING SURF
  2085.    name of surface
  2086.  VECTOR POS
  2087.    position
  2088.  VECTOR NORM
  2089.    normal of the plane
  2090.  STRING ACTOR
  2091.    name of actor
  2092. ›0m›1mDescription:›0m
  2093.  Creates an infinite plane.
  2094. ›0m›1mDefault:›0m
  2095.  PLANE ??? <0,0,0> <0,1,0>
  2096.  
  2097. ›0m›1mSPHERE›0m
  2098.  
  2099. ›0m›1mTemplate:›0m
  2100.  SURF/A,POS/A,RADIUS/A,ACTOR
  2101. ›0m›1mArguments:›0m
  2102.  STRING SURF
  2103.    name of surface
  2104.  VECTOR POS
  2105.    center of sphere
  2106.  FLOAT RADIUS
  2107.    radius of sphere
  2108.  STRING ACTOR
  2109.    name of actor
  2110. ›0m›1mDescription:›0m
  2111.  Creates a sphere
  2112. ›0m›1mDefault:›0m
  2113.  SPHERE ?? <0,0,0> 1
  2114.  
  2115. ›0m›1mTRIANGLE›0m
  2116.  
  2117. ›0m›1mTemplate:›0m
  2118.  SURF/A,P1/A,P2/A,P3/A,N1,N2,N3,ACTOR
  2119. ›0m›1mArguments:›0m
  2120.  STRING SURF
  2121.    name of surface
  2122.  VECTOR P1
  2123.    first corner
  2124.  VECTOR P2
  2125.    second corner
  2126.  VECTOR P3
  2127.    third corner
  2128.  VECTOR N1
  2129.    normal at first corner
  2130.  VECTOR N2
  2131.    normal at second corner
  2132.  VECTOR N3
  2133.    normal at third corner
  2134.  STRING ACTOR
  2135.    name of actor
  2136. ›0m›1mDescription:›0m
  2137.  Creates a triangle with corners at position P1, P2 and P3. If you specify
  2138.  the normals, a phong shaded triangle otherwise a flat triangle is created.
  2139.  Computing the normals by hand is a difficult task, and should be done by
  2140.  utility programs.
  2141.  
  2142. ›0m›1mAREXX-COMMANDS FOR SETTING ATTRIBUTES›0m
  2143.  
  2144. Every object must have a surface definition. With the following commands
  2145. you can set the attributes of a surface. First you have to define the
  2146. current surface with 'NEWSURFACE <name>'. Raystorm will set the attributes
  2147. of the new surface to default values. Every following command such as
  2148. AMBIENT or DIFFTRANS refers to the current surface and will override
  2149. the corresponding default values.
  2150.  
  2151. The following examples define two surfaces:
  2152.  
  2153. NEWSURFACE RED
  2154. AMBIENT [255,0,0]
  2155. DIFFUSE [255,0,0]
  2156.  
  2157. NEWSURFACE WATER
  2158. DIFFUSE [0,0,255]
  2159. REFRINDEX 1.333
  2160.  
  2161. List of surface commands:
  2162. ›3mNEWSURFACE›0m  creates a new surface
  2163. ›3mAMBIENT   ›0m  sets ambient color
  2164. ›3mBRUSH     ›0m  adds a brush
  2165. ›3mDIFFTRANS ›0m  sets diffuse transmission color
  2166. ›3mDIFFUSE   ›0m  sets diffuse color
  2167. ›3mFOGLEN    ›0m  sets the foglength
  2168. ›3mIMTEXTURE ›0m  adds a Imagine texture
  2169. ›3mREFEXP    ›0m  sets the specular reflection exponent
  2170. ›3mREFLECT   ›0m  sets the specular reflectivity
  2171. ›3mREFRINDEX ›0m  sets the index of refraction
  2172. ›3mSPECTRANS ›0m  sets the specular transmission
  2173. ›3mSPECULAR  ›0m  sets the specular color
  2174. ›3mTRANSEXP  ›0m  sets the specular transmission exponent
  2175. ›3mTRANSLUC  ›0m  sets the specular transmittance
  2176. ›3mTRANSPAR  ›0m  sets the diffuce transmittance
  2177.  
  2178. ›0m›1mAMBIENT›0m
  2179.  
  2180. ›0m›1mTemplate:›0m
  2181.  COLOR/A
  2182. ›0m›1mArguments:›0m
  2183.  STRING COLOR
  2184.    color
  2185. ›0m›1mDescription:›0m
  2186.  Sets the ambient color of surface. Determines the color of the object in
  2187.  sections, which are in shadow.
  2188. ›0m›1mDefault:›0m
  2189.  AMBIENT [255,255,255]
  2190.  
  2191. ›0m›1mBRUSH›0m
  2192.  
  2193. ›0m›1mTemplate:›0m
  2194.  NAME/A,TYPE/A,WRAP/A,POS/A,ALIGN/A,SIZE/A,REPEAT/S,MIRROR/S,SOFT/S,ACTOR
  2195. ›0m›1mArguments:›0m
  2196.  STRING NAME
  2197.    filename of brush
  2198.  KEYWORD TYPE [COLOR|REFLECT|FILTER|ALTITUDE|SPECULAR]
  2199.    type of brush
  2200.  KEYWORD WRAP [FLAT|WRAPX|WRAPY|WRAPXY]
  2201.    brush wrapping method
  2202.  VECTOR POS
  2203.    position
  2204.  VECTOR ALIGN
  2205.    alignment
  2206.  VECTOR SIZE
  2207.    size of brush
  2208.  KEYWORD REPEAT
  2209.    if set, brush is repeated like a tile
  2210.  KEYWORD MIRROR
  2211.    if set, brush is mirrord (when REPEAT is specified)
  2212.  KEYWORD SOFT
  2213.    if set, brush color is interpolated softly
  2214.  STRING ACTOR
  2215.    name of actor
  2216. ›0m›1mDescription:›0m
  2217.  Adds a brush to surface definition. A brush is a bitmap which is wrapped
  2218.  around an  object. The specified file will be searched for in the current
  2219.  directory. If it wasn't found there and a ›3mBRUSHPATH›0m
  2220.  be searched there.
  2221.  If an error occures the command returns an error string. Supported formats
  2222.  are: IFF-ILBM, PNG, TGA and Datatypes.
  2223.  
  2224.  Constants for type:
  2225.  COLOR
  2226.   Replaces the surface color of the object with the image (sets ›3mDIFFUSE›0m and
  2227.   ›3mAMBIENT›0m color).
  2228.  REFLECT
  2229.   Map covers the surface and reflects environment (see ›3mREFLECT›0m)).
  2230.  FILTER
  2231.   Uses the white color to pass colors and the black area to hold back color
  2232.   with a variance between two colors (like with ›3mTRANSPAR›0m).
  2233.  ALTITUDE
  2234.   The red values of the brush are used to give the surface an appearence of
  2235.   bumpiness.
  2236.  SPECULAR
  2237.   The rgb values set the specular color of the surface (see ›3mSPECULAR›0m).
  2238.  
  2239.  Constants for wrap :
  2240.  FLAT
  2241.   The brush is projected to X-Y plane, the axis is in the middle of the
  2242.   brush area, length is the distance from the middle to the border.
  2243.  WRAPX
  2244.   The brush is wrapped around the x-axis, like on a cylinder. The left edge
  2245.   of the brush begins at the posititve X axis and wraps the brush around
  2246.   the cylinder from 'west' to 'east'.
  2247.  WRAPY
  2248.   Same as WRAPX, but wrapping is around the y-axis.
  2249.  WRAPXY
  2250.   Wrapping both: around X and Y axis. It is assumed, that the object is a
  2251.   sphere. The Y axis is the north/south pole of the spherical mapping. The
  2252.   left edge of the brush begins at the positive X axis and wraps the brush
  2253.   around the sphere from 'west' to 'east'. The brush covers the sphere
  2254.   exactly once.
  2255. ›0m›1mExample:›0m
  2256.  BRUSH "earth.iff" COLOR, WRAPXY <0,0,0> <0,0,0> <0.1,0.1,0.1>
  2257.  
  2258. ›0m›1mDIFFTRANS›0m
  2259.  
  2260. ›0m›1mTemplate:›0m
  2261.  COLOR/A
  2262. ›0m›1mArguments:›0m
  2263.  COLOR COLOR
  2264.    color
  2265. ›0m›1mDescription:›0m
  2266.  Sets the diffuse transmission color of surface. Same as diffuse reflection,
  2267.  but only used if the lightsource is on opposite side of surface. Only
  2268.  applied if tranlucency is not set to zero.
  2269. ›0m›1mDefault:›0m
  2270.  DIFFTRANS [0,0,0]
  2271.  
  2272. ›0m›1mDIFFUSE›0m
  2273.  
  2274. ›0m›1mTemplate:›0m
  2275.  COLOR/A
  2276. ›0m›1mArguments:›0m
  2277.  COLOR COLOR
  2278.    color
  2279. ›0m›1mDescription:›0m
  2280.  Sets the diffuse color of surface. The diffuse reflection falls off as
  2281.  the cosine of the angle between the normal and the ray to the light.
  2282.  Diffuse reflection determines the main color of the object (color in
  2283.  Imagine).
  2284. ›0m›1mDefault:›0m
  2285.  DIFFUSE [255,255,255]
  2286.  
  2287. ›0m›1mFOGLEN›0m
  2288.  
  2289. ›0m›1mTemplate:›0m
  2290.  VALUE/A
  2291. ›0m›1mArguments:›0m
  2292.  FLOAT VALUE/A
  2293.    foglength
  2294. ›0m›1mDescription:›0m
  2295.  Sets the foglength of the surface. The fog color is set with ›3mTRANSPAR›0m.
  2296. ›0m›1mDefault:›0m
  2297.  FOGLEN 0
  2298.  
  2299. ›0m›1mIMTEXTURE›0m
  2300.  
  2301. ›0m›1mTemplate:›0m
  2302.  NAME/A,POS,ALIGN,SIZE,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16,ACTOR
  2303. ›0m›1mArguments:›0m
  2304.  STRING NAME
  2305.    name of Imagine texture file
  2306.  VECTOR POS
  2307.    position
  2308.  VECTOR ALIGN
  2309.    alignment
  2310.  VECTOR SIZE
  2311.    size of texture axis
  2312.  FLOAT P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11,P12,P13,P14,P15,P16
  2313.    texture parameters
  2314.  STRING ACTOR
  2315.    name of actor
  2316. ›0m›1mDescription:›0m
  2317.  Adds a Imagine texture to surface
  2318. ›0m›1mDefault:›0m
  2319.  defaults are taken from texture if not all paramters are given
  2320. ›0m›1mExample:›0m
  2321.  IMTEXTURE "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2>
  2322.  
  2323. ›0m›1mNEWSURFACE›0m
  2324.  
  2325. ›0m›1mTemplate:›0m
  2326.  NAME/A,BRIGHT/S
  2327. ›0m›1mArguments:›0m
  2328.  STRING NAME
  2329.    name
  2330.  KEYWORD BRIGHT
  2331.    if set, the brightness of the surface is everywhere the same
  2332. ›0m›1mDescription:›0m
  2333.  Defines a new surface.
  2334.  
  2335. ›0m›1mREFEXP›0m
  2336.  
  2337. ›0m›1mTemplate:›0m
  2338.  VALUE/A
  2339. ›0m›1mArguments:›0m
  2340.  FLOAT VALUE
  2341.    specular reflection exponent
  2342. ›0m›1mDescription:›0m
  2343.  Sets the specular reflection exponent of surface. Determines the size of
  2344.  the specularly reflected highlights, the higher the smaller the highlight
  2345.  (hardness in Imagine).
  2346. ›0m›1mDefault:›0m
  2347.  REFEXP 12.
  2348.  
  2349. ›0m›1mREFLECT›0m
  2350.  
  2351. ›0m›1mTemplate:›0m
  2352.  COLOR/A
  2353. ›0m›1mArguments:›0m
  2354.  COLOR COLOR
  2355.    color
  2356. ›0m›1mDescription:›0m
  2357.  Sets the specular reflectivity of surface
  2358. ›0m›1mDefault:›0m
  2359.  REFLECT [0,0,0]
  2360.  
  2361. ›0m›1mREFRINDEX›0m
  2362.  
  2363. ›0m›1mTemplate:›0m
  2364.  VALUE/A
  2365. ›0m›1mArguments:›0m
  2366.  FLOAT VALUE
  2367.    index of refraction
  2368. ›0m›1mDescription:›0m
  2369.  Sets the index of refraction of surface. Determines how the ray is refracted
  2370.  through transparent objects, the higher the more (index of refraction in
  2371.  Imagine).
  2372. ›0m›1mDefault:›0m
  2373.  REFRINDEX 1.
  2374. ›0m›1mExamples:›0m
  2375.  MATERIAL                      Index
  2376.  -------------------------------------
  2377.  Vacuum ...................... 1.00000 (exactly)
  2378.  
  2379.  Air (STP).................... 1.00029
  2380.  Acetone ..................... 1.36
  2381.  Alcohol ..................... 1.329
  2382.  Amorphous Selenium .......... 2.92
  2383.  Calspar1 .................... 1.66
  2384.  Calspar2 .................... 1.486
  2385.  Carbon Disulfide ............ 1.63
  2386.  Chromium Oxide .............. 2.705
  2387.  Copper Oxide ................ 2.705
  2388.  Crown Glass ................. 1.52
  2389.  Crystal ..................... 2.00
  2390.  Diamond ..................... 2.417
  2391.  Emerald ..................... 1.57
  2392.  Ethyl Alcohol ............... 1.36
  2393.  Flourite .................... 1.434
  2394.  Fused Quartz ................ 1.46
  2395.  Heaviest Flint Glass ........ 1.89
  2396.  Heavy Flint Glass ........... 1.65
  2397.  Glass ....................... 1.5
  2398.  Ice ......................... 1.309
  2399.  Iodine Crystal .............. 3.34
  2400.  Lapis Lazuli ................ 1.61
  2401.  Light Flint Glass ........... 1.575
  2402.  Liquid Carbon Dioxide ....... 1.20
  2403.  Polystyrene ................. 1.55
  2404.  Quartz 1 .................... 1.644
  2405.  Quartz 2 .................... 1.553
  2406.  Ruby ........................ 1.77
  2407.  Sapphire .................... 1.77
  2408.  Sodium Chloride (Salt) 1 .... 1.544
  2409.  Sodium Chloride (Salt) 2 .... 1.644
  2410.  Sugar Solution (30%) ........ 1.38
  2411.  Sugar Solution (80%) ........ 1.49
  2412.  Topaz ....................... 1.61
  2413.  Water (20 C) ................ 1.333
  2414.  Zinc Crown Glass ............ 1.517
  2415.  
  2416. ›0m›1mSPECTRANS›0m
  2417.  
  2418. ›0m›1mTemplate:›0m
  2419.  COLOR/A
  2420. ›0m›1mArguments:›0m
  2421.  COLOR COLOR
  2422.    color
  2423. ›0m›1mDescription:›0m
  2424.  Sets the specular transmission color of surface. Same as specular
  2425.  reflection, but only used if the lightsource is on opposite side of
  2426.  surface. Only applied if tranlucency is not 0.
  2427. ›0m›1mDefault:›0m
  2428.  SPECTRANS [255,255,255]
  2429.  
  2430. ›0m›1mSPECULAR›0m
  2431.  
  2432. ›0m›1mTemplate:›0m
  2433.  COLOR/A
  2434. ›0m›1mArguments:›0m
  2435.  COLOR COLOR
  2436.    color
  2437. ›0m›1mDescription:›0m
  2438.  Sets the specular color of surface. Specularly reflected highlights fall
  2439.  off as the cosine of the angle between the reflected ray and the ray to the
  2440.  light source (specular in Imagine).
  2441. ›0m›1mDefault:›0m
  2442.  SPECULAR [255,255,255]
  2443.  
  2444. ›0m›1mTRANSEXP›0m
  2445.  
  2446. ›0m›1mTemplate:›0m
  2447.  VALUE/A
  2448. ›0m›1mArguments:›0m
  2449.  FLOAT VALUE
  2450.    specular transmission exponent
  2451. ›0m›1mDescription:›0m
  2452.  Sets the specular transmission exponent of surface. Same as specular
  2453.  reflection exponent, but only used if the lightsource is on opposite
  2454.  side of surface.
  2455. ›0m›1mDefault:›0m
  2456.  TRANSEXP 12.
  2457.  
  2458. ›0m›1mTRANSLUC›0m
  2459.  
  2460. ›0m›1mTemplate:›0m
  2461.  VALUE/A
  2462. ›0m›1mArguments:›0m
  2463.  FLOAT VALUE
  2464.    specular transmittance
  2465. ›0m›1mDescription:›0m
  2466.  Sets the specular transmittance of surface
  2467. ›0m›1mDefault:›0m
  2468.  TRANSLUC 0
  2469.  
  2470. ›0m›1mTRANSPAR›0m
  2471.  
  2472. ›0m›1mTemplate:›0m
  2473.  COLOR/A
  2474. ›0m›1mArguments:›0m
  2475.  COLOR COLOR
  2476.    color
  2477. ›0m›1mDescription:›0m
  2478.  Sets the diffuse transmittance of surface
  2479. ›0m›1mDefault:›0m
  2480.  TRANSPAR [0,0,0]
  2481.  
  2482.    ›0m›1mAREXX-COMMANDS FOR ANIMATION CONTROL›0m
  2483.  
  2484. ›3mALIGNMENT›0m  sets alignment
  2485. ›3mNEWACTOR ›0m  creates a new actor
  2486. ›3mPOSITION ›0m  sets position
  2487. ›3mSIZE     ›0m  sets size
  2488.  
  2489. ›0m›1mALIGNMENT›0m
  2490.  
  2491. ›0m›1mTemplate:›0m
  2492.  FROM/A,TO/A,ALIGN/A,TYPE
  2493. ›0m›1mArguments:›0m
  2494.  FLOAT FROM,TO
  2495.    time interval
  2496.  VECTOR ALIGN
  2497.    alignment at the end of the interval
  2498.  KEYWORD TYPE [LINEAR]
  2499.    interpolation type (currently only linear)
  2500. ›0m›1mDescription:›0m
  2501.  Sets the alignment of the object. At time to, the actor will have this
  2502.  alignment.
  2503.  'TYPE' can be one of the following identifiers:
  2504.    LINEAR  the object moves on a straight line between the positions
  2505.    SPLINE  the object moves on a spline curve between the positions. (NOT
  2506.            IMPLEMENTED YET)
  2507.  
  2508. ›0m›1mNEWACTOR›0m
  2509.  
  2510. ›0m›1mTemplate:›0m
  2511.  NAME/A,POS,ALIGN,SIZE
  2512. ›0m›1mArguments:›0m
  2513.  STRING NAME
  2514.    name of actor
  2515.  VECTOR POS
  2516.    initial position of actor
  2517.  VECTOR ALIGN
  2518.    initial alignment (in degrees)
  2519.  VECTOR SIZE
  2520.    initial size
  2521. ›0m›1mDescription:›0m
  2522.  Creates a new actor. Usually a NEWACTOR definition is followed by one or more
  2523.  POSITION, ALIGNMENT, SIZE commands which define the properties of the actor
  2524.  at a certain time.
  2525.  For more information on NEWACTOR, please click ›3mhere›0m.
  2526. ›0m›1mDefault:›0m
  2527.  NEWACTOR ??? <0,0,0> <0,0,0> <1,1,1>
  2528.  
  2529. ›0m›1mPOSITION›0m
  2530.  
  2531. ›0m›1mTemplate:›0m
  2532.  FROM/A,TO/A,POS/A,TYPE
  2533. ›0m›1mArguments:›0m
  2534.  FLOAT FROM,TO
  2535.    time interval
  2536.  VECTOR POS
  2537.    position at the end of the interval
  2538.  KEYWORD TYPE [LINEAR]
  2539.    interpolation type (currently only linear)
  2540. ›0m›1mDescription:›0m
  2541.  Sets the position of the object. At time to, the actor will be at this
  2542.  position.
  2543.  'TYPE' can be one of the following identifiers:
  2544.    LINEAR  the object moves on a straight line between the positions
  2545.    SPLINE  the object moves on a spline curve between the positions. (NOT
  2546.            IMPLEMENTED YET)
  2547.  
  2548.    ›0m›1mSIZE›0m
  2549.  
  2550. ›0m›1mTemplate:›0m
  2551.  FROM/A,TO/A,SIZE/A,TYPE
  2552. ›0m›1mArguments:›0m
  2553.  FLOAT FROM,TO
  2554.    time interval
  2555.  SIZE
  2556.    size at the end of the interval
  2557.  KEYWORD TYPE [LINEAR]
  2558.    interpolation type (currently only linear)
  2559. ›0m›1mDescription:›0m
  2560.  Sets the size of the object. At time to, the actor will have this size.
  2561.  'TYPE' can be one of the following identifiers:
  2562.    LINEAR  the object moves on a straight line between the positions
  2563.    SPLINE  the object moves on a spline curve between the positions. (NOT
  2564.            IMPLEMENTED YET)
  2565.  
  2566. ›0m›1mWHAT IS AN ACTOR?›0m
  2567.  
  2568. The statement:
  2569.  
  2570. NEWACTOR name, position, alignment, size
  2571.  
  2572. defines a "virtual object" that can be associated with "real" objects,
  2573. including the Camera and  the Lights objects.  Position, alignment, and
  2574. size values are the initial values of an actor.
  2575.  
  2576. The object that is associated with a named actor behaves exactly like the
  2577. actor. When the actor is sized, rotated, or moved; the associted object is
  2578. sized, rotated, or moved accordingly.  It is as though the actor and the
  2579. object that is associated with it are connected by a rod.
  2580.  
  2581. While the coordinates of the object that is associated with an actor are
  2582. always defined in an absolute way in reference to the set world; its
  2583. movements - when associated with an actor - takes place with respect to
  2584. the coordinates of the actor.  The coordinates of the actor are defined in
  2585. the NEWACTOR statment and can have default values.
  2586.  
  2587. The position, alignment, and size values that follow the NEWACTOR statement
  2588. are the final values of an actor.  By defining time from and to values, a time
  2589. increment is defined by which the actor is resized, rotated, or moved from
  2590. the initial values to the final values.  By associating objects to an actor,
  2591. and rendering a picture at a particular time, or through a period of time,
  2592. animation and/or motion blur effects are achieved.
  2593.  
  2594. ›0m›1mAREXX-ERRORS›0m
  2595.  
  2596. These values are returned when something went wrong, you can get the
  2597. error string with the command ›3mGETERRORSTR›0m.
  2598.  
  2599. ›0m›1mApplication and parser errors›0m
  2600.  
  2601. Here are the errors returned from the command parser and the application
  2602. itself.
  2603.  
  2604. 100   Wrong screen resolution
  2605.       Both components of the screen resolution have to be higher than one.
  2606. 101   Not enough memory
  2607.       Allocation of memory failed.
  2608. 102   Limitations of demo version reached
  2609.       The demo version is limited to a resolution of 160x128.
  2610. 103   Unknown brush mapping type
  2611.       You specified an unknown mapping method for the ›3mBRUSH›0m command.
  2612. 104   Unknown brush wrapping method
  2613.       You specified an unknown wrapping method for the ›3mBRUSH›0m command.
  2614. 105   Invalid time intervall
  2615.       One component of a time intervall was negative or the beginning time
  2616.       was later than the end.
  2617. 106   Unknown interpolation method
  2618.       You specified an unknown interpolation method for the ›3mPOSITION›0m,
  2619.       ›3mALIGNMENT›0m or ›3mSIZE›0m command.
  2620. 107   No picture renderd
  2621.       There is no picture for ›3mSAVEPIC›0m to save because you renderd none
  2622.       or called ›3mCLEANUP›0m before.
  2623. 108   Can't open screen
  2624.       The ›3mDISPLAY›0m command was unable to open the screen
  2625.       (!!! THIS COMMAND ISN'T RELEASED IN THIS VERSION YET !!!).
  2626. 109   Can't open raystorm.library (Only one copy of RayStorm can run at a time)
  2627.       RayStorm failed to open raystorm.library
  2628. 110   Can't open intuition.library
  2629.       RayStorm failed to open intuition.library (at least version 37 is
  2630.       needed)
  2631. 111   Can't open window
  2632.       RayStorm failed to open the window.
  2633. 112   Can't open muimaster.library
  2634.       RayStorm failed to open muimaster.library (at least version 8 is
  2635.       needed)
  2636. 113   Invalid vector definition
  2637.       The specified vector has the wrong format (must be '<x,y,z>').
  2638. 114   Invalid color definition
  2639.       The specified color has the wrong format (must be '[r,g,b]').
  2640. 115   Invalid region definition
  2641.       The specified region is out of range.
  2642. 116   No light defined
  2643.       You tried to add lens flares or a light star and there is no previously
  2644.       defined light source.
  2645. 117   Unknown flare type
  2646.       You specified an unknown type for the ›3mFLARE›0m command.
  2647. 118   Unknown flare function
  2648.       You specified an unknown function for the ›3mFLARE›0m command.
  2649. 119   Only one object for a CSG object has been defined
  2650.       CSG objects always need two objects to operate on. For further informaions see
  2651.       ›3mCGS›0m.
  2652. 120   Unknonw CSG operator
  2653.       You specified an unknown operator for the ›3mCSG›0m command.
  2654.  
  2655. ›0m›1mInternal errors›0m
  2656.  
  2657. This are errors of the renderer.
  2658.  
  2659.   1   Not enough memory
  2660.       Allocation of memory failed.
  2661.   2   Limitations of demo version reached
  2662.       The demo version is limited to a resolution of 160x128.
  2663.   3   Wrong screen resolution
  2664.       Both components of the screen resolution have to be higher than one.
  2665.   4   Error in triangle definition
  2666.       It's impossible to generate a triangle with the specified coordinates
  2667.       (see ›3mTRIANGLE›0m).
  2668.   5   The view and up directions are identical?
  2669.       You specified a view-up-vector for the ›3mCAMERA›0m command which is identical
  2670.       to the view direction.
  2671.   6   Not enough memory for screen buffer
  2672.       The allocation of the screen buffer failed.
  2673.   8   Can't open Imagine texture file
  2674.       RayStorm failed to open the specified Imagine texture file, check
  2675.       filename and path.
  2676.   9   Can't open brush file
  2677.       RayStorm failed to open the specified brush file, check
  2678.       filename and path.
  2679.  10   Error initializing Imagine texture
  2680.       An error occured as RayStorm tried to initialize a Imagine texture.
  2681.  11   Can't open picture
  2682.       RayStorm failed to open the specified picture file, check filename
  2683.       and path.
  2684.  12   Error reading picture
  2685.       An error occured while RayStorm read a picture file.
  2686.  13   Can't open picture type file ('modules/picture/types')
  2687.       RayStorm failed to open the typefile. The typefile is needed to
  2688.       identify the filetypes of the pictures. RayStorm was unable to open
  2689.       the file 'modules/picture/types'.
  2690.  14   Error reading picture type file
  2691.       An error occured while RayStorm read the picture type file, maybe the
  2692.       file is damaged.
  2693.  14   Unknown picture format
  2694.       RayStorm was unable to recognize the format of the picture file.
  2695.  16   An error occcured while invoking picture handler
  2696.       The used picture handler returned a error.
  2697.  17   Can't open object
  2698.       RayStorm failed to open the specified object file, check filename
  2699.       and path.
  2700.  18   Error reading object
  2701.       An error occured while RayStorm read a object file.
  2702.  19   Can't open object type file ('modules/object/types')
  2703.       RayStorm failed to open the typefile. The typefile is needed to
  2704.       identify the filetypes of the objects. RayStorm was unable to open
  2705.       the file 'modules/object/types'.
  2706.  20   Error reading object type file
  2707.       An error occured while RayStorm read the object type file, maybe the
  2708.       file is damaged.
  2709.  21   Unknown object format
  2710.       RayStorm was unable to recognize the format of the object file.
  2711.  22   An error occcured while invoking object handler
  2712.       The used object handler returned a error.
  2713.  23   Actor not defined
  2714.       The specified actor name does not exist.
  2715.  24   Surface not defined
  2716.       The specified surface name does not exist.
  2717.  25   Depth of octree too big (max. 6)
  2718.       The octree depth is limited to a depth of 6.
  2719.  26   Antialiasing value too big (max. 8)
  2720.       The value of the ›3mANTIALIAS›0m command is limited to 8.
  2721.  27   Invalid time intervall
  2722.       One component of a time intervall was negative or the beginning time
  2723.       was later than the end.
  2724.  28   No picture renderd
  2725.       There is no picture for ›3mSAVEPIC›0m to save because you renderd none
  2726.       or called ›3mCLEANUP›0m before.
  2727.  29   Distribution value too big (max. 8)
  2728.       The value of the ›3mDISTRIB›0m command is limited to 8.
  2729.  30   Wrong error number
  2730.       The error number for ›3mGETERRORSTR›0m is out of range.
  2731.  31   Unknown Parameter
  2732.       A RSI-function was called with an unknown parameter (should nerver occur).
  2733.  
  2734. ›0m›1mEXAMPLES›0m
  2735.  
  2736. We have included several demos in the directories 'arexx' and 'examples'
  2737. to show how to use RayStorm.
  2738.  
  2739. In the 'arexx' directory are examples scripts which show the usage of
  2740. RayStorm with ARexx. Start them simply by typing 'rx ???.ray' in a shell
  2741. (???.ray is the name of the script).
  2742.  
  2743. In the 'examples' directory are C-programs which show the usage of
  2744. RayStorm directly with a program. They can only be run from a shell.
  2745. These programs are producing a couple of pictures no animation, which must
  2746. be glued together with a utility like MainActor.
  2747.  
  2748. ›0m›1mTUTORIALS›0m
  2749.  
  2750. If you use RayStorm for the first time, then it would be a good idea to do
  2751. the following tutorials:
  2752.  
  2753. ›3mSimple scene ›0m
  2754. ›3mBouncing ball›0m
  2755. ›3mMotion blur  ›0m
  2756.  
  2757. ›0m›1mTutorial: Simple scene›0m
  2758.  
  2759. Now we will create a very famous scene. A sphere over a checkerboard! Ok, it
  2760. may be boring, but it's good for the absolute beginner to get an
  2761. impression of building a scene.
  2762.  
  2763. Here we go:
  2764.  
  2765. 1. In the  drawer 'ARexx' of the RayStorm directory there is a file named
  2766.    'default.ray'. This is a default form for RayStorm ARexx scripts. You can
  2767.    use this form to write your own scripts.
  2768.    We'll use this file as a default for our animation script. Copy this file
  2769.    to the file 'simple.ray'. After this load the file 'simple.ray' to your
  2770.    favorite text editor (e.g GoldEd or CygnusEd).
  2771.  
  2772. 2. To view the scene, we need a camera. Insert after the line 'address
  2773.    RAYSTORM' the line:
  2774.  
  2775. ›0m›3m   '›3mSETCAMERA›0m <6,1.5,-1.5> <0,0,0> <0,1,0>'›0m
  2776.  
  2777.    This sets the camera to position <6,1.5,-1.5>. The camera points to
  2778.    <0,0,0> and the view-up vector is <0,1,0>. Note that you don't have to
  2779.    specify every single parameter. Every command has default values. Refer
  2780.    to the description of a command to find out the default values.
  2781.  
  2782. 3. Nothing can be seen without a lightsource.
  2783.    Go to the next line and type:
  2784.  
  2785. ›0m›3m   '›3mPOINTLIGHT›0m <0,50,0> [255,255,255] SHADOW'›0m
  2786.  
  2787.    The sphere is illuminated from above with white light.
  2788.  
  2789. 4. Before placing the objects in the scene, you have to define their
  2790.    surfaces.
  2791.    Insert this line:
  2792.  
  2793. ›0m›3m   '›3mNEWSURFACE›0m planesurf'›0m
  2794.  
  2795.    This creates a surface with name planesurf. The plane has a checkered
  2796.    surface, so insert:
  2797.  
  2798. ›0m›3m   '›3mIMTEXTURE›0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2>'›0m
  2799.  
  2800. 5. That was the plane texture. Let 's go over to sphere texture.
  2801.    Add:
  2802.  
  2803. ›0m›3m   '›3mNEWSURFACE›0m spheresurf'›0m
  2804.  
  2805.    The sphere has a mirrored surface. To simulate a perfect mirror, type
  2806.  
  2807. ›0m›3m   '›3mREFLECT›0m [255,255,255]'›0m
  2808.  
  2809. 6. Now we can add the objects to the scene:
  2810.  
  2811. ›0m›3m   '›3mSPHERE›0m spheresurf <0,0.5,0> 1'›0m
  2812.  
  2813.    This creates a sphere on position <0,0.5,0> and radius 1.
  2814.    Add the plane:
  2815.  
  2816. ›0m›3m   '›3mPLANE›0m planesurf'›0m
  2817.  
  2818.    The default values for the position and the normal vector fit to our
  2819.    scene, so we can take them over.
  2820.  
  2821. 7. Let's make an end to the definitions and render the scene!
  2822.    Type:
  2823.  
  2824. ›0m›3m   '›3mSTARTRENDER›0m'›0m
  2825.  
  2826. 8. Finally we may not forget to save the picture, so add:
  2827.  
  2828. ›0m›3m   '›3mSAVEPIC›0m simple.iff'›0m
  2829.  
  2830.    which will save the renderd picture in the current directory as a
  2831.    IFF-ILBM file.
  2832.    The last step is to free all the memory with the command 'CLEANUP'. Add:
  2833.  
  2834. ›0m›3m   ›3mCLEANUP›0m'›0m
  2835.  
  2836. 9. Start the script from a shell-window with the sequence 'rx simple.ray'.
  2837.    RayStorm will now generate your picture. When RayStorm finished the work
  2838.    start your favourite viewer-program, load the file and have a look at
  2839.    it.
  2840.    Looks very monochrome!!
  2841.    To make the world colorful, we make a red checker and set the sky to
  2842.    blue. A blue sky can be done by setting the world's background color.
  2843. 10. Before 'SETCAMERA' insert:
  2844.  
  2845. ›0m›3m   '›3mSETWORLD›0m [30,30,255]'›0m
  2846.  
  2847.    Add
  2848.  
  2849. ›0m›3m   '›3mDIFFUSE›0m [155,0,0]'›0m
  2850.  
  2851.    to the surface planesurf (this defines one checker color), the other one
  2852.    must be set in the 'IMTEXTURE' command, so change it to
  2853.  
  2854. ›0m›3m   '›3mIMTEXTURE›0m /textures/checker.itx <0.1,0.1,0.1> <0,0,0> <2,2,2> 255 0 0'›0m
  2855.  
  2856.    (Note that '255 0 0' describes a color, but is not embedded in < >,
  2857.    because the checker color belongs to the texture parameters which are
  2858.    all floats.)
  2859.  
  2860. 11. Render the scene once again, and view it.
  2861.  
  2862. That's the end of the tutorial! Make some changes to the scene file and
  2863. play around with the parameters to see their effects.
  2864.  
  2865. ›0m›1mTutorial: Bouncing ball›0m
  2866.  
  2867. The goal of this tutorial is to show you how to generate little animations.
  2868. At the end of this tutorial you'll have a animation where the earth rotates
  2869. and bounces on a rotating plane with a white checker texture on the top and
  2870. a red checker on the bottom. If you have a fast computer you can also
  2871. generate the animation with motion blur.
  2872.  
  2873. O.k. here we go:
  2874.  
  2875. 1. In the  drawer 'ARexx' of the RayStorm directory there is a file named
  2876.    'default.ray'. This is a default form for RayStorm ARexx scripts. You can
  2877.    use this form to write your own scripts.
  2878.    We will use this file as a default for our animation script. Copy this file
  2879.    to the file 'bounce.ray'. After this load the file 'bounce.ray' to your
  2880.    favorite text editor (e.g GoldEd or CygnusEd).
  2881.  
  2882. 2. First we define some values: the acceleration of the ball and the amount
  2883.    of frames to generate.
  2884.    RayStorm has three commands to set the paths where it searchs the files
  2885.    it needs. We use a brush for the surface of the ball and a texture for
  2886.    the surface of the ground.
  2887.    To do this we have to insert after the command 'ADDRESS RAYSTORM' the
  2888.    lines:
  2889.  
  2890. ›0m›3m   g = .2
  2891.    frames = 17
  2892.  
  2893.    '›3mBRUSHPATH›0m /brushes'
  2894.    '›3mTEXTUREPATH›0m /textures'›0m
  2895.  
  2896.    It's the same if you write the commands in upper case or lower case.
  2897.    But it's important to enclose all commans in quotes because ARexx tries
  2898.    to interpret the line before it sends it. It may happen that the line is
  2899.    changed and RayStorm don't do the things you want.
  2900.  
  2901. 3. Next we set the screen resolution. For the first experiments we choose
  2902.    a low resolution of 160x128 pixels. Insert the line:
  2903.  
  2904. ›0m›3m   '›3mSETSCREEN›0m 160 128'›0m
  2905.  
  2906. 4. Now we set the camera parameters. The first three values determine the
  2907.    position of the camera. We want to place it so that we can see the ball
  2908.    all over the time. The next values set the viewpoint of the camera, this
  2909.    is the point the camera aims to. The next values determine the view up
  2910.    vector. And the last two values determine the field of view. To get a
  2911.    pixel aspect of 1:1 we have to set them to 25 and 20 degree.
  2912.  
  2913. ›0m›3m   '›3mSETCAMERA›0m <0,10,40> <0,5,0> <0,1,0> 25 20'›0m
  2914.  
  2915. 5. We want to have a bright blue background for our animation. The
  2916.    background and the global ambient color is set with the 'SETWORLD'
  2917.    command. We want to set the ambient color to a dark gray, if this color
  2918.    is to bright the scene will look washed out and the objects appear flat.
  2919.    Insert the line:
  2920.  
  2921. ›0m   '›3mSETWORLD›0m [10,30,200] [10,10,10]'›0m
  2922.  
  2923. 6. The illumination is an important part of a scene. We want to place a
  2924.    pointlight near the camera. Add the line:
  2925.  
  2926. ›0m   '›3mPOINTLIGHT›0m <5,10,50>'›0m›3m
  2927.  
  2928. 7. Now we define the actor for the plane. We want to rotate it around the
  2929.    Z-axis. Insert the lines:
  2930.  
  2931. ›0m›3m   '›3mNEWACTOR›0m groundactor'
  2932.    '›3mALIGNMENT›0m 0 ' frames+2 ' <0,0,360>'›0m
  2933.  
  2934. 7. Now we define the surface for the plane and the plane itself. We make it
  2935.    a little reflective and apply a checker texture. The surface 'groundtop'
  2936.    is for the top of the plane and the surface 'groundbottom' is for the
  2937.    bottom of the surface. The plane itself consits of four triangles. Two
  2938.    fo the top and two for the bottom. Insert the lines:
  2939.  
  2940. ›0m›3m   '›3mNEWSURFACE›0m groundtop'
  2941.    '›3mDIFFUSE›0m [255,255,255]'
  2942.    '›3mSPECULAR›0m [0,0,0]'
  2943.    '›3mREFLECT›0m [50,50,50]'
  2944.    '›3mIMTEXTURE›0m checker.itx <0,-1,0> <0,0,0> <10,10,10> ACTOR groundactor'
  2945.  
  2946.    '›3mNEWSURFACE›0m groundbottom'
  2947.    '›3mDIFFUSE›0m [255,0,0]'
  2948.    '›3mSPECULAR›0m [0,0,0]'
  2949.    '›3mREFLECT›0m [50,50,50]'
  2950.    '›3mIMTEXTURE›0m checker.itx <0,-1,0> <0,0,0> <1.5,1.5,1.5> ACTOR groundactor'
  2951.  
  2952.    '›3mTRIANGLE›0m groundtop <-2,0,-2> <2,0,-2> <2,0,2> ACTOR groundactor'
  2953.    '›3mTRIANGLE›0m groundtop <-2,0,-2> <-2,0,2> <2,0,2> ACTOR groundactor'
  2954.    '›3mTRIANGLE›0m groundbottom <-2,-.01,-2> <2,-.01,-2> <2,-.01,2> ACTOR groundactor'
  2955.    '›3mTRIANGLE›0m groundbottom <-2,-.01,-2> <-2,-.01,2> <2,-.01,2> ACTOR groundactor'›0m
  2956.  
  2957. 8. Next we define the motion of the ball. It starts at a height of 10 and
  2958.    accelerates until it bounces on the plane, changes it's direction and
  2959.    the motions ends as the ball is back at he start point. Additional the
  2960.    ball rotates around the Y-axis. Add the following sequence to your script:
  2961.  
  2962. ›0m›3m   speed = -g
  2963.    pos = 10
  2964.    '›3mNEWACTOR›0m ballactor <0,'pos',0>'
  2965.    do i=0 to frames
  2966.      '›3mPOSITION›0m ' i i+1 '<0,'pos',0>'
  2967.      pos = pos+speed
  2968.      if pos<=1 & speed<0 then
  2969.        speed = -speed
  2970.      else
  2971.        speed = speed-g
  2972.    end
  2973.    '›3mALIGNMENT›0m 0 ' frames+2 ' <0,360,0>'›0m
  2974.  
  2975. 9. Now we define the surface for the ball and the ball itself. The only thing
  2976.    we must do is to map a earth styled brush map to a sphere. To reach this
  2977.    goal the position of the brush must be set to the middle of the sphere
  2978.    and the size must be small enough to be completely inside the sphere.
  2979.    This are the lines to define the ball:
  2980.  
  2981. ›0m›3m   '›3mNEWSURFACE›0m ball'
  2982.    '›3mBRUSH›0m earth.iff COLOR WRAPXY <0,10,0> <0,0,0> <.1,.1,.1> ACTOR ballactor'
  2983.  
  2984.    '›3mSPHERE›0m ball <0,10,0> 1 ACTOR ballactor'›0m
  2985.  
  2986. 10. If your computer is fast enough you can insert the follwing lines:
  2987.  
  2988. ›0m›3m   '›3mANTIALIAS›0m 2'
  2989.    '›3mDISTRIB›0m 2'›0m
  2990.  
  2991.    'ANTIALIAS' improves the quality of the picture; 2 or 3 are normal values,
  2992.    higher values don't improve the quality significant.
  2993.    A value higher than one for 'DISTRIB' switches {"motion blur" link Motion Blur} on.
  2994.  
  2995. 11. At this the we have finished the definitions and now can render the single
  2996.    frames. If youn want the reflections of the ball on the plane you have
  2997.    to delete the keyword 'QUICK', because RayStorm renders no reflections in
  2998.    quick mode. The frame time is set with 'FROM' and 'TO'. We save the frames
  2999.    as IFF-ILBM pictures with the names 'bounce0001.iff' ... 'bounceXXXX.iff'.
  3000.    The last step is to free all the memory with the command 'CLEANUP'. Add
  3001.    these lines:
  3002.  
  3003. ›0m›3m   do i=0 to frames
  3004.       '›3mSTARTRENDER›0m QUICK FROM 'i' TO 'i+1
  3005.       '›3mSAVEPIC›0m bounce' || RIGHT(i,4,0) || '.iff'
  3006.    end
  3007.  
  3008.    '›3mCLEANUP›0m'›0m
  3009.  
  3010. 12. Start the script from a shell-window with the sequence 'rx bounce.ray'.
  3011.    RayStorm will now generate your frames. When RayStorm finished the work
  3012.    you must glue the pictures together to get the animation.
  3013.  
  3014. That's all. Have fun!
  3015.  
  3016. ›0m›1mTutorial: Motion blur›0m
  3017.  
  3018. In this tutorial we show you how to make animations and how to use motion
  3019. blur.
  3020. To animate objects we need ACTORs. An ACTOR can be seen as a virtual object
  3021. which can have a certain position/alignment/size at a certain time. ACTORs can
  3022. be used for keyframe animation by giving control points which RayStorm can
  3023. interpolate (only linear for now.  Spline interpolations will be implemented
  3024. later).
  3025. You can assign an ACTOR to one or more real objects. An object with an actor
  3026. assigned to it will follow all actions the actor does. Let's take the sphere
  3027. from the second tutorial and move it to direction of the camera.
  3028. Type following:
  3029.  
  3030. ›0m›3m'›3mSETCAMERA›0m <6,1.5,-1.5> <0,0,0><0,1,0>'
  3031. '›3mPOINTLIGHT›0m <30,50,30> [255,255,255] SHADOW'›0m
  3032.  
  3033. you can add POSITION, ALIGNMENT and SIZE commands after NEWACTOR
  3034. (similar to the surface commands after NEWSURFACE)
  3035.  
  3036. ›0m›3m'›3mNEWACTOR›0m actor'
  3037. '›3mPOSITION›0m 0 1 <3,0,0.4>'
  3038.  
  3039. '›3mNEWSURFACE›0m planesurf'
  3040. '›3mDIFFUSE›0m <255,30,30>'
  3041. '›3mIMTEXTURE›0m "checker.itx" <0.1,0.1,0.1> <0,0,0> <2,2,2> 155 25 0'
  3042.  
  3043. '›3mNEWSURFACE›0m spheresurf'
  3044. '›3mREFLECT›0m <255,255,255>'
  3045.  
  3046. '›3mSPHERE›0m spheresurf <0,1,0> 0.7 actor'
  3047. '›3mPLANE›0m planesurf'›0m
  3048.  
  3049. You can make an animation by a series of STARTRENDER/SAVEPIC combinations. Our
  3050. little movie shall consist of 6 frames, so we will subdivide our time intervall
  3051. (1 unit) and make a photo every 0.2 time units. The STARTRENDER command has the
  3052. option to render a picture within a certain time intervall. That can be
  3053. compared with the shutter time of a real camera. The camera of RayStorm records
  3054. all movements of the objects in the scene within that time intervall which
  3055. results in a blurred scene. At the beginning we do no motion blur, so we set
  3056. the start and the end time to the same value. (Which means no shutter time).
  3057.  
  3058. Add this code and execute it:
  3059.  
  3060. ›0m›3mdo i=0 to 1 step 0.2
  3061.  '›3mSTARTRENDER›0m QUICK FROM 'i' TO 'i
  3062.  '›3mSAVEPIC›0m sphere' || RIGHT(i*5,4,0) || '.iff'
  3063. end
  3064.  
  3065. '›3mCLEANUP›0m'›0m
  3066.  
  3067. You can make a movie out of it using an animator program such as MainActor.
  3068. Now we introduce one of the advanced features of RayStorm: Motion Blur
  3069. Replace the commands above by the following lines:
  3070.  
  3071. ›0m›3m/* when doing motion blur you *MUST* add the distrib command +/
  3072.  
  3073. '›3mDISTRIB›0m 3'
  3074.  
  3075. /* shutter time is 0.2 */
  3076.  
  3077. do i=0 to 0.8 step 0.2
  3078.  '›3mSTARTRENDER›0m QUICK FROM 'i' TO 'i+0.2
  3079.  '›3mSAVEPIC›0m sphere' || RIGHT(i*5,4,0) || '.iff'
  3080. end
  3081.  
  3082. '›3mCLEANUP›0m'›0m
  3083.  
  3084. For each frame, the camera opens the shutter 0.2 time units long and records
  3085. what's happening. As you can see, an animation with motion blur gives a better
  3086. visual effect.
  3087. Again feel free to change the parameters.
  3088.  
  3089. ›0m›1mTEXTURES›0m
  3090.  
  3091. Textures are mathematically generated patterns which can be applied to the
  3092. surface of an object.
  3093. There are several textures in the directory 'textures'.
  3094.  
  3095.    ›3m Bump    ›0m
  3096.    ›3m Checker ›0m
  3097.    ›3m Fire    ›0m
  3098.    ›3m Linear  ›0m
  3099.    ›3m Marble  ›0m
  3100.    ›3m Radial  ›0m
  3101.    ›3m Stars   ›0m
  3102.    ›3m Wood    ›0m
  3103.  
  3104. ›0m›1mBUMP›0m
  3105.  
  3106. This texture applies bumps to the surface.
  3107. Size of texture determines size of the bumps.
  3108.  
  3109. ›0m›1mParameters:›0m
  3110.  
  3111. 1: X bump size
  3112. 2: Y bump size
  3113. 3: Z bump size
  3114. set the 'depth' of the bumps.
  3115.  
  3116. Example:
  3117. sphere with radius 1
  3118.  ›0m›3mIMTEXTURE bump.itx <0,0,0> <0,0,0> <.3,.3,.3> 1 1 1›0m
  3119. ›3mPicture›0m
  3120.  
  3121. ›0m›1mCHECKER›0m
  3122.  
  3123. This texture applies thw ell known checker pattern to the surface.
  3124. ›0m›1mAttention!
  3125. If you apply a checker texture to a plane, the plane may not be at the same
  3126. position on which the checker changes its color. Otherwise you get a noisy
  3127. texture due to rounding errors.›0m
  3128.  
  3129. ›0m›1mParameters:›0m
  3130.  
  3131. 1: Color Red
  3132. 2: Color Green
  3133. 3: Color Blue
  3134. Color of the checkers, other color is taken from object.
  3135.  
  3136. 4: Reflect Red
  3137. 5: Reflect Green
  3138. 6: Reflect Blue
  3139. Reflect color of the checkers.
  3140.  
  3141. 7: Filter Red
  3142. 8: Filter Green
  3143. 9: Filter Blue
  3144. Filter color of the checkers.
  3145.  
  3146. ›0m›1mExample:›0m
  3147.  ›0m›3mIMTEXTURE "checker.itx" <0,0.1,0> <0,0,0> <2,2,2> 255 0 0›0m
  3148. ›3mPicture›0m
  3149.  
  3150. ›0m›1mFIRE›0m
  3151.  
  3152. This texture generates a pattern which look like fire. It's based on the book
  3153. ›3mTexturing and Modeling›0m.
  3154.  
  3155. ›0m›1mParameters:›0m
  3156.  
  3157.  1: Chaos Scale       higher values make sharper flames
  3158.  2: Chaos Offset      higher values make more flames with bottom color (white)
  3159.                       lower values more top colored flames (red)
  3160.  3: Octaves           determines the frequency of the flames
  3161.  4: Flameheight
  3162.  5: Flameamplitude
  3163.  6: Bottom Red
  3164.  7: Bottom Green
  3165.  8: Bottom Blue       is the bottom fire color (white)
  3166.  9: Middle Red
  3167. 10: Middle Green
  3168. 11: Middle Blue       is the middle color (yellow)
  3169. 12: Top Red
  3170. 13: Top Green
  3171. 14: Top Blue          is the top color (red)
  3172. 15: Transparent Top   if not 0 the texture gets more transparent from bottom
  3173.                       to top
  3174. Example:
  3175. plane with
  3176.  ›0m›3mIMTEXTURE fire.itx <0,0,0> <0,0,0> <1,1,1>›0m
  3177. ›3mPicture›0m
  3178. ›3mHigh Chaos Scale›0m
  3179.  
  3180. ›0m›1mLINEAR›0m
  3181.  
  3182. This texture varies the color of the object in the y-direction of the
  3183. texture.
  3184.  
  3185. ›0m›1mParameters:›0m
  3186.  
  3187. 1: Color Red
  3188. 2: Color Green
  3189. 3: Color Blue
  3190. color to interpolate to.
  3191.  
  3192. 4: Reflect Red
  3193. 5: Reflect Green
  3194. 6: Reflect Blue
  3195. reflection to interpolate to.
  3196.  
  3197. 7: Filter Red
  3198. 8: Filter Green
  3199. 9: Filter Blue
  3200. filter to interpolate to.
  3201.  
  3202. ›0m›1mExample:›0m
  3203.  ›0m›3mIMTEXTURE "linear.itx" <0,0.1,0> <0,0,0> <2,2,2> 0 0 255›0m
  3204. ›3mPicture›0m
  3205.  
  3206. ›0m›1mWOOD›0m
  3207.  
  3208. This texture applies a wood like texture to the surface.
  3209. Size of texture determines size of wood.
  3210.  
  3211. ›0m›1mParameters:›0m
  3212.  
  3213. 1: Color Red
  3214. 2: Color Green
  3215. 3: Color Blue
  3216. Color. Other color is taken from object.
  3217.  
  3218. 4: Reflect Red
  3219. 5: Reflect Green
  3220. 6: Reflect Blue
  3221. Reflection color.
  3222.  
  3223. 7: Filter Red
  3224. 8: Filter Green
  3225. 9: Filter Blue
  3226. Filter color.
  3227.  
  3228. 10: Octave
  3229. The higher the octave the noisier are the wood rings.
  3230.  
  3231. 11: Frequency
  3232. The higher the frequency the smaller the wood rings.
  3233.  
  3234. ›0m›1mExample:›0m
  3235. cube with size 2
  3236.  ›0m›3mIMTEXTURE wood.itx <0,0,0> <0,0,0> <1,1,1> 255 255 50 0 0 0 0 0 0 2 4›0m
  3237. ›3mPicture›0m
  3238.  
  3239. ›0m›1mMARBLE›0m
  3240.  
  3241. This texture applies a marble like texture to the surface.
  3242. Size of texture determines size of bumps.
  3243.  
  3244. ›0m›1mParameters:›0m
  3245.  
  3246. 1: Color Red
  3247. 2: Color Green
  3248. 3: Color Blue
  3249. Color. Other color is taken from object.
  3250.  
  3251. 4: Reflect Red
  3252. 5: Reflect Green
  3253. 6: Reflect Blue
  3254. Reflection color.
  3255.  
  3256. 7: Filter Red
  3257. 8: Filter Green
  3258. 9: Filter Blue
  3259. Filter color.
  3260.  
  3261. 10: Octave
  3262. The higher the octave the noisier is the texture.
  3263.  
  3264. ›0m›1mExample:›0m
  3265. cube with size 2
  3266.  ›0m›3mIMTEXTURE marble.itx <0,0,0> <0,0,0> <.5,.5,.5> 150 50 50 0 0 0 0 0 0 7›0m
  3267. ›3mPicture›0m
  3268.  
  3269. ›0m›1mRADIAL›0m
  3270.  
  3271. This texture varies the color of the object radial around the texture axis.
  3272.  
  3273. ›0m›1mParameters:›0m
  3274.  
  3275. 1: Start radius
  3276. Interploation start radius.
  3277.  
  3278. 2: End radius
  3279. Interploation end radius.
  3280.  
  3281. 3: Color Red
  3282. 4: Color Green
  3283. 5: Color Blue
  3284. Color to interpolate to.
  3285.  
  3286. 6: Reflect Red
  3287. 7: Reflect Green
  3288. 8: Reflect Blue
  3289. Reflection to interpolate to.
  3290.  
  3291. 9: Filter Red
  3292. 10: Filter Green
  3293. 11: Filter Blue
  3294. Filter to interpolate to.
  3295.  
  3296. ›0m›1mExample:›0m
  3297.  ›0m›3mIMTEXTURE "radial.itx" <0,0,0> <0,0,0> <1,1,1> 1 2 255 0 0›0m
  3298. ›3mPicture›0m
  3299.  
  3300. ›0m›1mSTARS›0m
  3301.  
  3302. This texture applies randomly stars to the surface. Cannot be used in
  3303. animations!
  3304.  
  3305. ›0m›1mParameters:›0m
  3306.  
  3307. 1: Color Red
  3308. 2: Color Green
  3309. 3: Color Blue
  3310. Color of the stars.
  3311.  
  3312. 4: Density
  3313. Star density. The higher the more stars (0. - 1.).
  3314.  
  3315. ›0m›1mExample:›0m
  3316.  ›0m›3mIMTEXTURE "stars.itx" <0,0,0> <0,0,0> <1,1,1> 255 255 255 0.1›0m
  3317. ›3mPicture›0m
  3318.  
  3319. ›0m›1mKNOWN BUGS›0m
  3320.  
  3321.  
  3322. ›0m›1mDISCLAIMER›0m
  3323.  
  3324. THERE IS NO WARRANTY FOR THIS PROGRAM TO THE EXTENT PERMITTED BY APPLICABLE
  3325. LAW.  EXCEPT WHERE OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDER AND/OR
  3326. OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
  3327. EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  3328. WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE
  3329. ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
  3330. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
  3331. SERVICING, REPAIR OR CORRECTION.
  3332.  
  3333. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
  3334. ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY REDISTRIBUTE THE PROGRAM
  3335. AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
  3336. SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  3337. INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR
  3338. DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES
  3339. OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
  3340. SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  3341. DAMAGES.
  3342.  
  3343. ›0m›1mCOPYRIGHT›0m
  3344.  
  3345. The RayStorm package is Copyright 1995-97 by Andreas Heumann and Mike Hesser.
  3346. All Rights Reserved. It is released under the concept of `Shareware'.
  3347.  
  3348. The archive of RayStorm may only be distributed in unmodified form.  No files
  3349. may be added, changed or removed. You may not charge for this archive, other
  3350. than the cost of the media and duplication fees. Distribution is allowed in
  3351. all forms, such as BB systems, floppy or compact disks, and ftp sites.
  3352.  
  3353. ›0m›1mCREDITS›0m
  3354.  
  3355. We want to thank the following persons:
  3356.  
  3357. - Bernhard Moench - chairman of Plasma Pictures (a great Amiga club)
  3358.  
  3359.   Address:
  3360.  
  3361.   Plasma Pictures
  3362.   Reality and Imagination!
  3363.  
  3364.   Bernhard Moench
  3365.   Regensburger Strasse 28c
  3366.  
  3367.   10777 Berlin
  3368.   GERMANY
  3369.  
  3370. - Stephan Dorenkamp - for testing
  3371.  
  3372. - Maan Hamze - for testing, hundrets of suggestions and bugreports...
  3373.   ... and many many E-Mails
  3374.  
  3375. - Klaus Melchior for his listtree class
  3376.  
  3377. - Stefan Stunz for MUI
  3378.  
  3379. - Thanks to all registrated users for the support of the shareware concept.
  3380.  
  3381. ›0m›1mREGISTER›0m
  3382.  
  3383. If you like RayStorm use the registration programm to register.
  3384. Fill out the registration form and press the 'Print' button.
  3385. If the printer is installed correctly, the registration is printed out.
  3386. You can get information about the current agreements by pressing the 'Info'
  3387. button.
  3388.  
  3389. ›0m›1mAUTHORS›0m
  3390.  
  3391. For bug reports, comments, suggestions ... you can contact us at the
  3392. following addresses (E-mail prefered).
  3393.  
  3394.    Amiga-version:
  3395.  
  3396.    Andreas Heumann
  3397.  
  3398.    E-mail:  calvin@sol.wohnheim.uni-ulm.de (or heumann@hugo.rz.fh-ulm.de)
  3399.    S-mail:  Heilmeyersteige 105
  3400.             89075 Ulm
  3401.             Germany
  3402.  
  3403.    PC-version:
  3404.  
  3405.    Mike Hesser
  3406.  
  3407.    E-mail:  calvin@sol.wohnheim.uni-ulm.de
  3408.    S-mail:  Heilmeyersteige 105
  3409.             89075 Ulm
  3410.             Germany
  3411.  
  3412. ›0m›1mPC-VERSION›0m
  3413.  
  3414. The PC version is available on the Internet from our ›3mhomepage›0m.
  3415.  
  3416. ›0m›1mHISTORY›0m
  3417.  
  3418. ›3mRayStorm Scenario ›0m
  3419. ›3mRayStorm Script   ›0m
  3420. ›3mRayStorm Raytracer›0m
  3421.  
  3422. ›0m›1mHISTORY›0m
  3423.  
  3424. version 1.0b (27-August-96)
  3425. - initial release.
  3426.  
  3427. version 1.1 (04-October-96)
  3428. - save and load materials in attribute requester
  3429. - create cube, sphere, plane, tube, cone and torus mesh objects
  3430. - fixed bug with color requesters (colors changed every call)
  3431. - string gadgets now advance to next/prev gadget when return is pressed
  3432. - improved zooming with the mouse
  3433. - added enable button for render area
  3434. - fixed problems with KS-versions less than 3.0 (<39)
  3435. - key 't' opens settings requester
  3436. - added new preview resolutions (NTSC 80x50,PAL 80x64,VGA 80x60)
  3437. - if more than one object is selected the object for attributes can be
  3438.   selected by the browser
  3439. - implemented two browser modes
  3440. - added center view with 'R-Amiga - .'
  3441. - joined settings and transform requester
  3442. - several bugfixes
  3443. - improved object scaling with mouse
  3444. - can now scale external objects
  3445.  
  3446. version 1.2 (29-November-96)
  3447. - forgot to scale child objects of external objects
  3448. - added ok button to render requester
  3449. - added ›3mcamera to viewer›0m
  3450. - added hierarchical object browser
  3451. - ask for rendering of scenes with no light sources
  3452. - bugfix: it was impossible to track and to set the opening angle of a
  3453.   spotlight
  3454. - convert external to scene objects
  3455. - added RayStorm object file format (RSOB)
  3456. - fixed problem with vertical stripes with 020-version
  3457. - fixed problem with screen update
  3458. - coordinate display even if no object is translated
  3459. - focal distance of camera can automatically be set to camera-track distance
  3460. - added preview to attributes requester
  3461. - improved color selection for rendering preview window
  3462. - added show and save button to registration program
  3463. - added some materials
  3464. - added lens effects (flares, light star)
  3465.  
  3466. version 1.8 (16-February-97)
  3467. - minimum amount of objects for octree is now setable in the ›3mRender Settings›0m
  3468.   requester
  3469. - added spikewidth to visible light star
  3470. - added new/load/save buttons
  3471. - all objects can track each other
  3472. - added undo and redo
  3473. - added box object
  3474. - added status bar
  3475. - added tilt angle to light star
  3476. - the render window can now be set with the mouse
  3477. - objects can now be selected with a selection box
  3478. - raw object loader works now correctly
  3479. - lens flares in the requester are now selectable with the mouse
  3480.  
  3481. ›0m›1mHISTORY›0m
  3482.  
  3483. version 1.02 (16-August-95)
  3484. - added BRIGHT-flags for surface
  3485. - deleted TRANSATTU
  3486.  
  3487. version 1.081 (08-October-95)
  3488. - added listview for history
  3489.  
  3490. version 1.13 (01-November-95)
  3491. - now more than one path with PATH-commands possible
  3492.  
  3493. version 1.16 (09-January-96)
  3494. - added 'SOFTSHADOW' to 'DISTRIB'
  3495. - added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
  3496.  
  3497. version 1.2 (29-February-96)
  3498. - bugfix 'ANTIALIAS' command: parameter CONTRIB produced error 30
  3499.  
  3500. version 1.22 (25-April-96)
  3501. - added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
  3502.  
  3503. version 1.26 (04-October-96)
  3504. - fixed a bug which caused the program to crash on exit
  3505.  
  3506. version 1.3 (29-November-96)
  3507. - added '›3mFLARE›0m' and '›3mSTAR›0m'
  3508.  
  3509. version 1.8 (16-February-97)
  3510. - added 'MINOBJECTS' to '›3mSTARTRENDER›0m'
  3511. - added 'SPIKEWIDTH' to '"{"STAR" link STAR}'
  3512. - added 'NOSTAR' and 'NOFLARES' to '›3mPOINTLIGHT›0m' and '›3mSPOTLIGHT›0m'.
  3513. - added '›3mBOX›0m' command
  3514. - added '›3mCSG›0m' command
  3515. - bugfix: 'RANDJIT'-flag of '›3mSETWORLD›0m' has been ignored.
  3516. - added 'TILT' to '›3mSTAR›0m'
  3517.  
  3518. ›0m›1mHISTORY›0m
  3519.  
  3520. version 1.0 (09-July-95)
  3521. - initial release.
  3522.  
  3523. version 1.01 (15-August-95)
  3524. - added soft shadows
  3525. - added random jitter
  3526. - added brush repeat and mirror
  3527.  
  3528. version 1.02 (16-August-95)
  3529. - bugfix: altitude mapping -> black object: fixed
  3530. - bugfix: loading of TDDD-objects with brushes crashed: fixed
  3531. - added backdrop picture
  3532. - added BRIGHT-flags for surface
  3533. - added fog
  3534.  
  3535. version 1.03 (17-August-95)
  3536. - bugfix: sphere intersection test: fixed
  3537.  
  3538. version 1.04 (21-August-95)
  3539. - added global fog
  3540.  
  3541. version 1.05 (28-August-95)
  3542. - added animation commands
  3543.  
  3544. version 1.06 (01-September-95)
  3545. - added motion blur
  3546.  
  3547. version 1.07 (10-September-95)
  3548. - added specular brush mapping
  3549.  
  3550. version 1.08 (11-September-95)
  3551. - added rendering box
  3552.  
  3553. version 1.081 (08-October-95)
  3554. - added global reflection map
  3555. - changed error messages
  3556.  
  3557. version 1.082 (11-October-95)
  3558. - improved memory management for Imagine objects
  3559.  
  3560. version 1.083 (12-October-95)
  3561. - changed spotlight direction to lookpoint and added actor for lookpoint
  3562. - new form for vectors '<x,y,z>'
  3563. - new form for colors '[r,g,b]'
  3564.  
  3565. version 1.1 (18-October-95)
  3566. - next offical release
  3567.  
  3568. version 1.11 (19-October-95)
  3569. - bugfix: Imagine fog objects are now loaded properly
  3570. - added parameter check for field rendering
  3571.  
  3572. version 1.12 (21-October-95)
  3573. - speedup of motion blur
  3574.  
  3575. version 1.13 (01-November-95)
  3576. - bugfix: spotlight look point changed camera view point
  3577. - added soft interpolation of colors for brushmapping
  3578. - bugfix: objects behind light sources casted shadows
  3579.  
  3580. version 1.14 (03-November-95)
  3581. - changed default gaussian filter width from 1.8 to 1.3
  3582. - bugfix: problem with global fog
  3583. - plane can now be animated
  3584. - changed axis position in flat brush mapping
  3585. - added 'Time spend' and 'Time left'
  3586.  
  3587. version 1.15 (28-November-95)
  3588. - added PNG- and ILBM-modules
  3589. - added radial texture
  3590.  
  3591. version 1.16 (09-January-96)
  3592. - bugfix in PNG-module: had problems with palette pictures
  3593. - bugfix motion blur: had a problem with voxel calculations
  3594. - bugfix motion blur: had no motion blur in scenes with planes
  3595. - added TGA-module
  3596. - added 'SOFTSHADOW' to 'DISTRIB'
  3597. - optimized octree (up to 10% faster)
  3598. - added 'FALLOFF' for 'POINTLIGHT' and 'SPOTLIGHT'
  3599. - bugfix can now load plane
  3600. - bugfix can now load multiple planes or perfect spheres
  3601.  
  3602. version 1.17 (18-February-96)
  3603. - object loading is now done in modules
  3604. - added 3DS module
  3605. - bugfix in TDDD-module: hardness is now used to set REFEXP
  3606. - brushes and textures are no applied to surfaces which lie
  3607.   between the light source and the illuminated surface
  3608. - bugfix antialiasing: there where some bright pixel trash in the picture
  3609.   if antialiasing with fog was used
  3610. - rewrote bump, wood and marble textures
  3611. - global reflections map is now applied in 'QUICK' mode too
  3612.  
  3613. version 1.2 (29-February-96)
  3614. - bugfix: last line of picture has been always black
  3615. - bugfix: had problems with Imagine 4.0 TDDD objects
  3616.  
  3617. version 1.21 (25-March-96)
  3618. - TDDD objects are now rotated and scaled relative to axis of first object
  3619. - bugfix: since 1.2 shadows in motion blur scenes were calculated false
  3620. - bugfix: in some cases there were vertical and horizontal stripes in
  3621.   rendered pictures
  3622. - bugfix: triangles which were exactly in one plane (XY,XZ,YZ) disapeared
  3623.  
  3624. version 1.22 (25-April-96)
  3625. - bugfix: had problems with sharp edges of TDDD objects
  3626. - bugfix: altitude brush mapping produced ugly results
  3627. - bugfix: fixed some motion blur bugs
  3628. - added 'SURFACE' to 'LOADOBJ' to replace objects surface with own surface
  3629. - added datatype support for all commands which load brushes
  3630.  
  3631. version 1.25 (08-September-96)
  3632. - the RayStorm kernel is now a shared library
  3633. - added support of new TDDD TXT4 chunk for textures from Imagine 4.0
  3634. - changed the world axis orientation (x left, y up, z in)
  3635.  
  3636. version 1.26 (04-October-96)
  3637. - fixed error in marble texture
  3638. - bugfix: had problems with sharp edges of TDDD objects (once again)
  3639.  
  3640. version 1.3 (29-November-96)
  3641. - recompiled raystorm.library with StormC -> upto 30% faster (68030/881)
  3642. - backdrop pictures are now automatically scaled
  3643. - added lens effects (flare, light star)
  3644.  
  3645. version 1.8 (16-February-97)
  3646. - added shadow cache (improves rendering speed for scenes with many shadows)
  3647. - fire texture
  3648. - minimum amount of objects for octree
  3649. - added spikewidth to visible light star
  3650. - added box object
  3651. - added CSG
  3652. - added tilt angle to light star
  3653. - brushes support now 24 bit datatypes too
  3654. - lens flares are now softly interpolated to the border of the flare
  3655.  
  3656. ›0m›1mHOMEPAGE›0m
  3657.  
  3658. Come and visit our RayStorm-Homepage! There you can always get the latest
  3659. version of RayStorm and can see some example pictures.
  3660.  
  3661. The address:
  3662. http://sol.wohnheim.uni-ulm.de/~calvin/raystorm.html
  3663.  
  3664. ›0m›1mFUTURE ADDITIONS›0m
  3665.  
  3666. ›0m›1mRayStorm Scenario›0m
  3667.  
  3668. - modify triangle objects
  3669. - animation control
  3670. - Arexx port
  3671. - solid display (z-Buffer) (why is there no useable (fast) version of OpenGL for
  3672.   Amiga available?)
  3673. - use Imagine staging files
  3674.  
  3675. ›0m›1mRayStorm Raytracer›0m
  3676.  
  3677. - more objects (torus, cylinder, ...)
  3678. - JPEG-saver
  3679. - animation language (ALAN)
  3680. - more textures
  3681. - don't allocate whole picture buffer at once
  3682. - diffuse reflectivity
  3683. - diffuse transparency
  3684. - log file
  3685. - apply post-2D-FX
  3686. - spline interpolation for actors
  3687. - load Lightwave format
  3688. - metaballs
  3689. - some extra programs (e.g. terrain and plant generation)
  3690.  
  3691. ›0m›1mComputer Graphics›0m
  3692.  
  3693. J.D. Foley, A. van Dam
  3694. Addison-Wesley
  3695.  
  3696. ›0m›1mAdvanced Animation and Rendering Techniques
  3697. Theory and Practice›0m
  3698.  
  3699. Alan Watt, Mark Watt
  3700. Addison-Wesley
  3701.  
  3702. ›0m›1mTexturing and Modeling
  3703. A Procedural Approach›0m
  3704.  
  3705. Ebert, Musgrave, Peachy, Perlin, Worley
  3706. 1994 Academic Press
  3707. ISBN 0-12-228760-6
  3708.  
  3709. ›0m›1m-A-›0m
  3710.   ›3mAbout            ›0m
  3711.   ›3mActive           ›0m
  3712.   ›3mAddresses        ›0m
  3713.   ›3mALIGNMENT        ›0m
  3714.   ›3mAltitude brush   ›0m
  3715.   ›3mAMBIENT          ›0m
  3716.   ›3mANTIALIAS        ›0m
  3717.   ›3mAntialiasing     ›0m
  3718.   ›3mARexx            ›0m
  3719.   ›3mAttributes       ›0m
  3720.   ›3mAuthor           ›0m
  3721. ›0m›1m-B-›0m
  3722.   ›3mBackdrop         ›0m
  3723.   ›3mBox              ›0m
  3724.   ›3mBOX              ›0m
  3725.   ›3mBrowse           ›0m
  3726.   ›3mBrushes          ›0m
  3727.   ›3m - show          ›0m
  3728.   ›3mBRUSH            ›0m
  3729.   ›3mBRUSHPATH        ›0m
  3730.   ›3mBugs             ›0m
  3731.   ›3mBump             ›0m
  3732.   ›3mButtons          ›0m
  3733. ›0m›1m-C-›0m
  3734.   ›3mCamera           ›0m
  3735.   ›3m - Active        ›0m
  3736.   ›3m - Settings      ›0m
  3737.   ›3m - to viewer     ›0m
  3738.   ›3mChecker          ›0m
  3739.   ›3mCLEANUP          ›0m
  3740.   ›3mCLEANUP          ›0m
  3741.   ›3mColor brush      ›0m
  3742.   ›3mCommands         ›0m
  3743.   ›3mCoordinates      ›0m
  3744.   ›3mCopy             ›0m
  3745.   ›3mCopyright        ›0m
  3746.   ›3mCredits          ›0m
  3747.   ›3mCSG              ›0m
  3748.   ›3m - introduction  ›0m
  3749.   ›3mCut              ›0m
  3750.   ›3mCylinder mapping ›0m
  3751. ›0m›1m-D-›0m
  3752.   ›3mDelete           ›0m
  3753.   ›3mDepth of field   ›0m
  3754.   ›3mDeselect All     ›0m
  3755.   ›3mDIFFTRANS        ›0m
  3756.   ›3mDIFFUSE          ›0m
  3757.   ›3mDISPLAY          ›0m
  3758.   ›3mDISTRIB          ›0m
  3759. ›0m›1m-E-›0m
  3760.   ›3mE-Mail           ›0m
  3761.   ›3mErrors           ›0m
  3762.   ›3mExamples         ›0m
  3763. ›0m›1m-F-›0m
  3764.   ›3mFAQ              ›0m
  3765.   ›3mFeatures         ›0m
  3766.   ›3mFilter brush     ›0m
  3767.   ›3mFire             ›0m
  3768.   ›3mFLARE            ›0m
  3769.   ›3mFlat mapping     ›0m
  3770.   ›3mFocus            ›0m
  3771.   ›3mFog              ›0m
  3772.   ›3mFOGLEN           ›0m
  3773.   ›3mFuture           ›0m
  3774. ›0m›1m-G-›0m
  3775.   ›3mGeneral          ›0m
  3776.   ›3mGETERRORSTR      ›0m
  3777.   ›3mGlobal           ›0m
  3778.   ›3mGrid             ›0m
  3779.   ›3m - Size          ›0m
  3780.   ›3m - Snap to       ›0m
  3781. ›0m›1m-H-›0m
  3782.   ›3mHistory          ›0m
  3783.   ›3mHomepage         ›0m
  3784. ›0m›1m-I-›0m
  3785.   ›3mIMTEXTURE        ›0m
  3786.   ›3mInternals        ›0m
  3787.   ›3mInstallation     ›0m
  3788.   ›3mIntroduction     ›0m
  3789.   ›3m - Raytracer     ›0m
  3790.   ›3m - Scenario      ›0m
  3791.   ›3m - Script        ›0m
  3792. ›0m›1m-L-›0m
  3793.   ›3mLegal Stuff      ›0m
  3794.   ›3mLens flares      ›0m
  3795.   ›3mLimitations      ›0m
  3796.   ›3mLinear           ›0m
  3797.   ›3mLoad             ›0m
  3798.   ›3mLOADOBJ          ›0m
  3799.   ›3mPointLight Set.  ›0m
  3800.   ›3mSpotLight Set.   ›0m
  3801. ›0m›1m-M-›0m
  3802.   ›3mMarble           ›0m
  3803.   ›3mMenus            ›0m
  3804.   ›3mMesh             ›0m
  3805.   ›3m - Axis          ›0m
  3806.   ›3m - Cube          ›0m
  3807.   ›3m - Sphere        ›0m
  3808.   ›3m - Plane         ›0m
  3809.   ›3m - Tube          ›0m
  3810.   ›3m - Cone          ›0m
  3811.   ›3m - Torus         ›0m
  3812.   ›3mMesh Settings    ›0m
  3813.   ›3mMin. Objects     ›0m
  3814.   ›3mMode             ›0m
  3815.   ›3mMotion Blur      ›0m
  3816.   ›3mMUI Prefs        ›0m
  3817. ›0m›1m-N-›0m
  3818.   ›3mNew              ›0m
  3819.   ›3mNEWACTOR         ›0m
  3820.   ›3mNEWSURFACE       ›0m
  3821. ›0m›1m-O-›0m
  3822.   ›3mOBJECTPATH       ›0m
  3823.   ›3mOpen             ›0m
  3824. ›0m›1m-P-›0m
  3825.   ›3mParameters       ›0m
  3826.   ›3mPaste            ›0m
  3827.   ›3mPC-Version       ›0m
  3828.   ›3mPlane            ›0m
  3829.   ›3mPLANE            ›0m
  3830.   ›3mPointlight       ›0m
  3831.   ›3m - Settings      ›0m
  3832.   ›3mPOINTLIGHT       ›0m
  3833.   ›3mPOSITION         ›0m
  3834.   ›3mPrefs            ›0m
  3835.   ›3mPrefs Load       ›0m
  3836.   ›3mPrefs Save       ›0m
  3837. ›0m›1m-Q-›0m
  3838.   ›3mQuit             ›0m
  3839.   ›3mQUIT             ›0m
  3840. ›0m›1m-R-›0m
  3841.   ›3mRadial           ›0m
  3842.   ›3mRAW              ›0m
  3843.   ›3mRedo             ›0m
  3844.   ›3mRedraw           ›0m
  3845.   ›3mREFEXP           ›0m
  3846.   ›3mREFLECT          ›0m
  3847.   ›3mReflect brush    ›0m
  3848.   ›3mReflection map   ›0m
  3849.   ›3mREFRINDEX        ›0m
  3850.   ›3mRegister         ›0m
  3851.   ›3mRender           ›0m
  3852.   ›3m - Settings      ›0m
  3853.   ›3m - window, set   ›0m
  3854.   ›3m - window, enable›0m
  3855.   ›3mRequirements     ›0m
  3856. ›0m›1m-S-›0m
  3857.   ›3mSave             ›0m
  3858.   ›3mSave As          ›0m
  3859.   ›3mSAVEPIC          ›0m
  3860.   ›3mSelect All       ›0m
  3861.   ›3mSelect Next      ›0m
  3862.   ›3mSelect Previous  ›0m
  3863.   ›3mSettings         ›0m
  3864.   ›3mSETCAMERA        ›0m
  3865.   ›3mSETSCREEN        ›0m
  3866.   ›3mSETWORLD         ›0m
  3867.   ›3mSIZE             ›0m
  3868.   ›3mShow             ›0m
  3869.   ›3m - Coordinates   ›0m
  3870.   ›3m - Names         ›0m
  3871.   ›3m - Brushes       ›0m
  3872.   ›3m - Textures      ›0m
  3873.   ›3mSoft shadows     ›0m
  3874.   ›3mSPECTRANS        ›0m
  3875.   ›3mSPECULAR         ›0m
  3876.   ›3mSpecular brush   ›0m
  3877.   ›3mSphere           ›0m
  3878.   ›3mSPHERE           ›0m
  3879.   ›3mSphere mapping   ›0m
  3880.   ›3mSpikewidth       ›0m
  3881.   ›3mSpotlight        ›0m
  3882.   ›3m - Settings      ›0m
  3883.   ›3mSPOTLIGHT        ›0m
  3884.   ›3mSTAR             ›0m
  3885.   ›3mStars            ›0m
  3886.   ›3mSTARTRENDER      ›0m
  3887.   ›3mSurface          ›0m
  3888. ›0m›1m-T-›0m
  3889.   ›3mTEXTUREPATH      ›0m
  3890.   ›3mTextures         ›0m
  3891.   ›3m - description   ›0m
  3892.   ›3m - show          ›0m
  3893.   ›3mTips & Tricks    ›0m
  3894.   ›3mTRANSEXP         ›0m
  3895.   ›3mTransform        ›0m
  3896.   ›3mTRANSLUC         ›0m
  3897.   ›3mTRANSPAR         ›0m
  3898.   ›3mTRIANGLE         ›0m
  3899.   ›3mTutorials        ›0m
  3900. ›0m›1m-U-›0m
  3901.   ›3mUndo             ›0m
  3902.   ›3mUsage            ›0m
  3903. ›0m›1m-V-›0m
  3904.   ›3mView             ›0m
  3905.   ›3mVirtual Memory   ›0m
  3906.   ›3mVisible Light    ›0m
  3907. ›0m›1m-W-›0m
  3908.   ›3mWINTOFRONT       ›0m
  3909.   ›3mWood             ›0m
  3910.   ›3mWWW              ›0m
  3911. ›0m›1m-Z-›0m
  3912.   ›3mZoom fit         ›0m
  3913.   ›3mZoom in          ›0m
  3914.   ›3mZoom out         ›0m
  3915.